日期:2014-05-17  浏览次数:20462 次

thinkphp中分页保持查询条件不变的问题
本帖最后由 cffall 于 2013-04-07 12:40:30 编辑
手册中:
import('ORG.Util.Page');// 导入分页类
$mapcount      = $User->where($map)->count();// 查询满足要求的总记录数
$Page       = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
//分页跳转的时候保证查询条件
foreach($map as $key=>$val) {
    $Page->parameter   .=   "$key=".urlencode($val).'&';
}
$show       = $Page->show();// 分页显示输出


这里我的查询条件使用了in
$map['code'] = array('in',$array);
当点第二页时查询条件就不成功。是不是这里不能用in?
php 分页

------解决方案--------------------
这个问题我也遇到了,并且找到了解决的方法了
import('ORG.Util.Page');// 导入分页类
$count=$res->where($sear)->count();//查询数据条数
$Page=new Page($count,2);//实例化分页函数
//分页跳转的时候保证查询条件
foreach($sear as $key=>$val) {
if(!is_array($val)) {
$Page->parameter   .=   "$key=".urlencode($val)."&";//赋值给Page
   }
}
$show=$Page->show();//分页显示输出

这里添加了一个判断就实现了

------解决方案--------------------
//查询
  public function search() {
   $res=D('Info');
   $name=$_REQUEST['name'];
   $sear['name'] = array('like','%'.$name.'%');
   import('ORG.Util.Page');// 导入分页类
   $count=$res->where($sear)->count();//查询数据条数
   $Page=new Page($count,2);//实例化分页函数
   //分页跳转的时候保证查询条件
   foreach($name as $key=>$val) {
    $Page->parameter   .=   "$key=".urlencode($val)."&";//赋值给Page
   }
   $show=$Page->show();//分页显示输出
这是我用的查询分页的代码你看下吧,刚才发的那条虽然能查出来但是不符合规则

这是我总结的文档http://blog.sina.com.cn/s/blog_80742e010101acfq.html,你看下吧