网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > php语言

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

栏目: php语言 / 发布于: / 人气:1.94W

主要介绍了Thinkphp搜索时首页分页和搜索页保持条件分页的方法,以两种不同的方式详细分析了实现搜索时分页情况下保持搜索条件的方法,是非常具有实用价值的技巧,需要的`朋友可以参考,就跟随本站小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!

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

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

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

复制代码 代码如下:

public function index(){

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

/**********start************/

import('');// 导入分页类

$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('');// 导入分页类

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

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

/*********end*************/

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

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

$Page->parameter .= "$key="ncode($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();

}