Thinkphp搜索时首页分页和搜索页保持条件分页的方法


Posted in PHP onDecember 05, 2014

本文实例讲述了Thinkphp实现搜索时首页分页和搜索页保持条件分页的方法。分享给大家供大家参考。具体实现方法如下:

在做搜索查询时突然发现在首页用的分页代码在搜索页使用时出现错误,首页分页代码(代码中标注start与end部分为分页代码)

public function index(){

  $res=D('Info');// 实例化Data数据对象
  /**********start************/

  import('ORG.Util.Page');// 导入分页类

  $count= $res->count();// 查询满足要求的总记录数

  $Page = new Page($count,3);// 实例化分页类 传入总记录数(另一个参数为自定义分页条数)

  //$Page->rollPage = 3;//默认情况下,页面显示的页数是5  可以修改

  $show= $Page->show();// 分页显示输出

  // 进行分页数据查询

  $list = $res->order('iid desc')->limit($Page->firstRow.','.$Page->listRows)->select();

  /**********end************/
  $this->assign('list',$list);// 赋值数据集
  /*********start*************/

  $this->assign('page',$show);// 赋值分页输出

  /*********end*************/
  $this->display(); // 输出模板

}

搜索代码(代码中start与end之间标注的部分为分页代码,注释标注了分页跳转时保存查询条件),以下两种方法都可以保存条件(不清楚这样是不是写的规范),查询:
public function search() {

   $res=D('Info');

   $name=$_REQUEST['name'];

   $sear['name'] = array('like','%'.$name.'%');
   /*********start*************/

   import('ORG.Util.Page');// 导入分页类

   $count=$res->where($sear)->count();//查询数据条数

   $Page=new Page($count,2);//实例化分页函数

   /*********end*************/
   //分页跳转的时候保存查询条件

   foreach($sear as $key=>$val) {

    $Page->parameter   .=   "$key=".urlencode($name)."&";//赋值给Page

   }
   /*********start*************/

   $show=$Page->show();//分页显示输出

   // 进行分页数据查询

    $val=$res->where($sear)->$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();

    /*********end*************/
   $this->assign('search',$val);
   /*********start*************/

   $this->assign('page',$show);

   /*********end*************/
   $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=new Page($count,2);//实例化分页函数  

   //分页跳转的时候保证查询条件  

   foreach($sear as $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]对应的是我要查找的条件,这样就可以保持条件进行分页了.

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
也谈截取首页新闻 - 范例
Oct 09 PHP
一些php技巧与注意事项分析
Feb 03 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
Jul 01 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
php使用curl访问https示例分享
Jan 17 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
PHP之密码加密的几种方式
Jul 29 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
PHP模板引擎Smarty自定义变量调解器用法
Apr 11 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 #PHP
ThinkPHP添加更新标签的方法
Dec 05 #PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 #PHP
php树型类实例
Dec 05 #PHP
Yii框架form表单用法实例
Dec 04 #PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 #PHP
Yii分页用法实例详解
Dec 04 #PHP
You might like
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
destoon复制新模块的方法
2014/06/21 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
Python 类的特殊成员解析
2018/06/20 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
详解Python学习之安装pandas
2019/04/16 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
CSS3 分类菜单效果
2019/05/27 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
德国足球商店:OUTFITTER
2019/05/06 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
毕业研究生的自我鉴定
2013/11/30 职场文书
男方父母婚礼答谢词
2014/01/25 职场文书
感恩老师的演讲稿
2014/05/06 职场文书
完美的中文自荐信
2014/05/24 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
2015年党建工作总结
2015/03/30 职场文书
音乐会主持人开场白
2015/05/28 职场文书
情况说明书怎么写
2015/10/08 职场文书
高中体育课教学反思
2016/02/16 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript