/*
$map['name']=array('like','%张%');
$map['type']=1;
$map['is_show']=1;
*/
$count = $User->where($map)->count();// 查询满足要求的总记录数
$Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
//分页跳转的时候保证查询条件
//parameter[$key]=urlencode($val); $val不能是数组;使用like模糊查询的话$val就是数组,该查询字段则不会拼接在页码的条件里面
//方法:对like模糊查询的条件进行重新赋值,把值从数组改成字符串,那样页码的条件就变成 /name/urlencode('张')/
$map['name']='张'; //array('like','%张%') => '张'
foreach($map as $key=>$val) {
$Page->parameter[$key] = $val;//如果你要模糊查询中文的话,要把urlencode()去掉
}
$show = $Page->show();// 分页显示输出例子:$indexpage=I("p",1,"int");
$limit=15;
if(!empty(I('nickname'))){
$condtion['nickname']=array("like","%".trim(I('nickname'))."%");
}
$data=$this->where($condtion)->order('user_id desc')->page($indexpage,$limit)->select();
$count=$this->where($condtion)->count();
$page=new \Think\Page($count,$limit);
//分页跳转的时候保证查询条件
if(!empty(I('nickname'))){
$condtion['nickname']=trim(I('nickname'));
}
foreach($condtion as $key=>$val) {
$page->parameter[$key] = $val;
}
$page->setConfig('header', '<span>共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</span>');
$page->setConfig('prev', '上一页');
$page->setConfig('next', '下一页');
$page->setConfig('last', '末页');
$page->setConfig('first', '首页');
$page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
$page->lastSuffix = false;//最后一页不显示为总页数
$show=$page->show();
return array("lists"=>$data,"page"=>$show); 最佳答案