TP3.2带条件分页,解决编码的问题
- 公司的项目框架用的是tp框架,列表数据展现的时候时常会带有一些关键字搜索或者多条件检索,实现方法第一个使用 ajax(这种方法挺好的)毕竟现在很多UI框架都是采用的这个方式。第二个方法就是框架自带的分页来实现。
在网上大概看了一个关于自带的框架的实现方法,大概就是2种:
urlencode 和 cookie实现。不过我觉得用cookie实现感觉不太好要是条件多了你把每一个条件都存起来,是不是有些麻烦。我们就用urlencode 实现吧。直接上代码 $map 为你的条件数组如
['start_time'=>"2019-01-01","end_time"=>"2020-01-01","keyword"=>'张三']
$count = $User->where($map)->count();// 查询满足要求的总记录数
$Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
//分页跳转的时候保证查询条件
foreach($map as $key=>$val) {
$Page->parameter[$key] = urlencode($val);
}
$show = $Page->show();// 分页显示输出
但是我们可能会遇见当我们关键字搜索时候采用汉字的时候就会出现编码的问题,导致分页和搜索出问题。所以我们在整理$map的时候加上:
只要条件中可能出现非数字的地方都这样处理下
$keyword = I('keyword','');
if($keyword){
$map['keyword'] = urldecode($keyword);
}
关于视图渲染就和手册上的一样没有其他区别了。
关于手册的分页详解