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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
通过文字传递创建的图形按钮
Oct 09 PHP
php 输出双引号"与单引号'的方法
May 09 PHP
php array_unique之后json_encode需要注意
Jan 02 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
php实现paypal 授权登录
May 28 PHP
PHP实现图片自动清理的方法
Jul 08 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
PHP制作登录异常ip检测功能的实例代码
Nov 16 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
PDO::errorCode讲解
Jan 28 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
坏狼的PHP学习教程之第2天
2008/06/15 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
PHP连接sql server 2005环境配置及问题解决
2014/08/08 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
python求crc32值的方法
2014/10/05 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
python 读取DICOM头文件的实例
2018/05/07 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python3实现高效的端口扫描
2019/08/31 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
财务管理专业推荐信
2013/11/19 职场文书
工程测量与监理专业应届生求职信
2013/11/27 职场文书
党员剖析材料范文
2014/09/30 职场文书
个园导游词
2015/02/04 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript