首页 > 技术文章 > thinkphp 分页

hnbiao 2017-03-10 23:05 原文

    //换一种思路
    /*
        或许有的时候数据并不是全都是从库里面查出来的吧!
        那天遇到一个就是先查出库里面的数据,然后在通过条件判断,得到一个数组!
        这个时候用到分页了,怎么整?看看
    */
    public  function array_page($array,$rows){
        $count=count($array);
        $Page=new Page($count,$rows);
        $list=array_slice($array,$Page->firstRow,$Page->listRows);
        return $list;
    }

 

注意:html 表单必须用get  而不能用post 提交

完整代码

    //列表分页查询
    
    public function list_select(){
        $cat_id=intval($_REQUEST['cat_id']);
        if($cat_id!=0){
            $map['b.cat_id']=intval($_REQUEST['cat_id']);

        }
        if($_REQUEST['start_time']!="" && $_REQUEST['end_time']==""){
            $start_time=strtotime($_POST['start_time']);
            $map['b.create_time']=array('gt',"$start_time");
        }
        if($_REQUEST['start_time']!="" && $_REQUEST['end_time']!=""){
            $start_time=strtotime($_REQUEST['start_time']);
            $end_time=strtotime($_REQUEST['end_time'])+24*60*60-1;
            $map['b.create_time']=array('between',"$start_time,$end_time");
        }
        if($_REQUEST['title']!=""){
            $title=$_REQUEST['title'];
            $map['b.title']=array('like',"%$title%");
        }
        if(empty($map)){
            $map="1=1";
        }
        $data=$this->Model->table(array('blog'=>'b'))->field('b.id,c.cat_title,b.cat_id,b.title,b.description,b.content,b.cover_id,b.update_time')
        ->join('category c on c.id=b.cat_id')->where($map)->order('id desc')->select();
        // echo $this->Model->getLastSql();
        $count=count($data);
        $Page=new Page($count,8,$parameter);
        $show=$Page->show();
        $list=array_slice($data,$Page->firstRow,$Page->listRows);
        $this->assign('list',$list);
        $this->assign('page',$show);
        $this->category();
        $this->display('index');

    }

 

推荐阅读