thinkPHP 分页搜索问题(转载)

首页分页代码(蓝色为分页代码)

  public functionindex(){
 
 $res=D('Info');//实例化Data数据对象
  import('ORG.Util.Page');//导入分页类
  $count= $res->count();//查询满足要求的总记录数
  $Page = new Page($count,3);//实例化分页类 传入总记录数(另一个参数为自定义分页条数)
  //$Page->rollPage =3;//默认情况下,页面显示的页数是5  可以修改
  $show= $Page->show();//分页显示输出
  // 进行分页数据查询
  $list = $res->order('iiddesc')->limit($Page->firstRow.','.$Page->listRows)->select();
 
 $this->assign('list',$list);//赋值数据集
  $this->assign('page',$show);//赋值分页输出
 
 $this->display();// 输出模板
 
   }

 

搜索代码(蓝色为分页代码,其中的红色为保存条件)

以下两种方法都可以保存条件(不清楚这样是不是写的规范)

//查询
 
 public function search(){
 
  $res=D('Info');
 
  $name=$_REQUEST['name'];
 
  $sear['name']= array('like','%'.$name.'%');
   import('ORG.Util.Page');//导入分页类
   $count=$res->where($sear)->count();//查询数据条数
   $Page=newPage($count,2);//实例化分页函数
   //分页跳转的时候保证查询条件
   foreach($sear as $key=>$val){
    $Page->parameter  .=  "$key=".urlencode($name)."&";//赋值给Page
   }
   $show=$Page->show();//分页显示输出
   //进行分页数据查询
   $val=$res->where($sear)->$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
 
  $this->assign('search',$val);
   $this->assign('page',$show);
 
  $this->display();
 
  
 
 }

注:   

   foreach($sear as $key=>$val){
    $Page->parameter  .=  "$key=".urlencode($name)."&";//赋值给Page
   }
   "$key=".urlencode($name)."&";这里面的$name 相对应提取的是 $name=$_REQUEST['name'];获取的值。 

 

第二种

 

  public function search(){
 
  $res=D('Info');
 
  $name=$_REQUEST['name'];
 
  $sear['name']= array('like','%'.$name.'%');
 
  import('ORG.Util.Page');//导入分页类
 
  $count=$res->where($sear)->count();//查询数据条数
 
  $Page=newPage($count,2);//实例化分页函数
 
  //分页跳转的时候保证查询条件
 
  foreach($searas $key=>$val){    
 
   $Page->parameter  .=  "$key=".urlencode($val[1]).'&';
 
  }
 
  $show=$Page->show();//分页显示输出
 
  //进行分页数据查询
 
  $val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
 
  $this->assign('search',$val);
 
  $this->assign('page',$show);
 
  $this->display();
 
  
 
 }

 使用$val[1]是因为$sear是一个数组,而$val[1]对应的是我要查找的条件

这样就可以保持条件进行分页了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值