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

 

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

0 0 vote
Article Rating
Subscribe
提醒
guest
2 评论
最旧
最新 得票最多
Inline Feedbacks
View all comments
emmm
emmm
1 年 之前

emmm