加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:14:49 所属栏目:PHP教程 来源:网络整理
导读:《:Thinkphp搜索时首页分页和搜索页保持条件分页的方法》要点: 本文介绍了:Thinkphp搜索时首页分页和搜索页保持条件分页的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解Thinkphp实现搜索时首页分页和搜索页保持条件分页的办法.分享给大

《:Thinkphp搜索时首页分页和搜索页保持条件分页的方法》要点:
本文介绍了:Thinkphp搜索时首页分页和搜索页保持条件分页的方法,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解Thinkphp实现搜索时首页分页和搜索页保持条件分页的办法.分享给大家供大家参考.具体实现办法如下:PHP实战

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

代码如下:
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************/PHP实战

? $this->assign('list',$list);// 赋值数据集PHP实战

? /*********start*************/
? $this->assign('page',$show);// 赋值分页输出
? /*********end*************/PHP实战

? $this->display(); // 输出模板
}PHP实战


搜索代码(代码中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*************/PHP实战

?? //分页跳转的时候保存查询条件
?? foreach($sear as $key=>$val) {
??? $Page->parameter?? .=?? "$key=".urlencode($name)."&";//赋值给Page
?? }PHP实战

?? /*********start*************/
?? $show=$Page->show();//分页显示输出
?? // 进行分页数据查询
??? $val=$res->where($sear)->$val=$res->where($sear)->limit($Page->firstRow.','.$Page->listRows)->select();
??? /*********end*************/PHP实战

?? $this->assign('search',$val);PHP实战

?? /*********start*************/
?? $this->assign('page',$show);
?? /*********end*************/PHP实战

?? $this->display();
}PHP实战


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

第二种:
PHP实战

代码如下:
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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》及《ThinkPHP常用办法总结》PHP实战

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所赞助.PHP实战

欢迎参与《:Thinkphp搜索时首页分页和搜索页保持条件分页的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读