tp5带条件分页搜索
摘要:我们分页的时候,会出现带着搜索条件去跳页,TP是有这个功能的,但文档好像又没有详细说明。今天刚好做了分页这个功能,而且也是比较常用的、时常会忘掉,一时又查不了,所以记录一下。
tp5的分页是非常方便的,而且很灵活,可以设置每页条数等等。
搜索分页是最经常碰到的了,在框架里自己写可以说是很麻烦,最好是使用框架的方法。
$name = input('post.name', '', 'htmlspecialchars');//接收的查询数据
$pageParam = ['query' =>[]];
if($name != ''){
$this->where('name', 'like', "%{$name}%");//基本的搜索条件
$pageParam['query']['name'] = $name;//定义一个数组装着搜索条件
}
$this->allStaff = $this->alias('a')
->join('table1 b','a.staff_id = b.staff_id','LEFT')
->join('table2 c','b.account_id=c.account_id','LEFT')
->join('table3 d','c.role_id = d.role_id','LEFT')
->order('a.create_date desc')
->paginate(10,false,$pageParam);//把数组放传到这里
我是在模型里写的,但原理一样。$pageParam数据里装的是搜索的条件,每次跳页它都会带着这些参数回来,所以搜索参数不会丢失。
注意:搜索的参数名称容易混乱,建议使用同一名称