ThinkPHP 3.2.3 实现搜索分页

来源:互联网 发布:那个网络教育好 编辑:程序博客网 时间:2024/06/18 14:55

只是简单的实现了一下,但是思路都是一样的。其实主要核心就是在于一个if判断是否提交搜索,以及一个page类中parameter添加参数。
上代码吧。

<?phpnamespace Home\Controller;use Think\Controller;class PagesController extends Controller{    //    分页执行    public function index()    {        $data = M('data');        /**         * 使用I()方法接查询条件并判断是否存在搜索条件,         * 如果存在搜索条件则执行搜索分页,         * 如果不存在搜索条件则执行普通分页。         */        if (I('s') != '') {            // 存在搜索条件时执行此区间            // 组合查询条件            $map['title'] = array('LIKE', I('s').'%');            $countRes = $data -> where($map) -> count();            $page = new \Think\Page($countRes,10);            // 将查询条件加入url参数中,如果有多个查询条件则可以遍历I(),对 $page -> parameter 进行赋值            $page -> parameter['s'] = urlencode(I('s'));            // 获取结果集            $dataList = $data -> limit($page -> firstRow.','.$page -> listRows) -> where($map) -> select();        } else {            // 不存在搜索条件时执行此区间            $countRes = $data -> count();            $page = new \Think\Page($countRes,10);            // 获取结果集            $dataList = $data -> limit($page -> firstRow.','.$page -> listRows) -> select();        }        $show  = $page -> show();        // 分配变量到前台,执行遍历        $this -> assign('dataList',$dataList);        $this -> assign('show',$show);        $this -> display();    }}
0 0
原创粉丝点击