Thinkphp5 分页传递参数

最近几天项目中有涉及到搜索,起初数据量少的时候,在一页的情况下是可以完全展示完全的.随着数据量多的时候.点击下一页就会出现找不到数据的问题.

关于TP的paginate用法如下:

1.在只需要参数的前提下直接paginate即可.

$dataList = db('order')->alias('o')
                ->field('o.id,o.order_id,o.status,o.name,o.order_name,o.create_time,o.remark')
                ->paginate(20);
            $this->assign('dataList', $dataList);
            return $this->fetch('search');

每页显示十条数据.简单粗暴我喜欢.

2.在需要携带参数的情况下.看下paginate的相关参数

手册地址贴上:  https://www.kancloud.cn/manual/thinkphp5/154294

paginate用到三个参数,

第一个参数表示每页有多少数据

第二个参数表示的是简洁分页,如果为true,那么分页的就是只有上一页和下一页

第三个参数是一个数组,也就是我们想要携带的参数 这里面直接使用了助手参数 request()->param()

$dataList = db('order')->alias('o')
                ->field('o.id,o.order_id,o.status,o.name,o.order_name,o.create_time,o.remark')
                ->whereTime('o.create_time', 'between', [$startime, $stoptime])
                ->paginate(20,false,['query'=> request()-> param()]);
            $this->assign('dataList', $dataList);

 

然后分页搜索就完成了. 😎

2
说点什么

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
阿桑emmm Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
emmm
游客
emmm

emmm