手机
当前位置:查字典教程网 >编程开发 >php教程 >Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
摘要:本文实例讲述了Thinkphp实现搜索时首页分页和搜索页保持条件分页的方法。分享给大家供大家参考。具体实现方法如下:在做搜索查询时突然发现在...

本文实例讲述了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程序设计有所帮助。

【Thinkphp搜索时首页分页和搜索页保持条件分页的方法】相关文章:

php获取网页里所有图片并存入数组的方法

php生成年月日下载列表的方法

php生成圆角图片的方法

php将字符串随机分割成不同长度数组的方法

使用无限生命期Session的方法

PHP获取文件行数的方法

php给一组指定关键词添加span标签的方法

php转换颜色为其反色的方法

php将HTML表格每行每列转为数组实现采集表格数据的方法

php实现图片转换成ASCII码的方法

精品推荐
分类导航