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);

然后分页搜索就完成了.

你可能感兴趣的:(Thinkphp5 分页传递参数)