查询用到的方法
在查询时要实现不同字段相同的查询条件,即$map['no|name|py|sex'] = $find;还运用到解码和编码,urlencode是编码urldecode是解码,还有ThinkPHP中的paramete。
数据分页
数据分页通常会在对数据进行查询后进行分页操作,下面的代码用的是page方法进行数据分页,在数据分页后通常页数是从1开始,可以使用setConfig方法来实现分页式定制修改默认的一些设置。
实现的代码
public function index($p='1',$find=''){
$find = urldecode($find);
$pagesize=10;
if(!empty($find)){
$map['no|name|py|sex'] = $find;//不同字段相同的查询条件
}
$model = M('student'); // 实例化model对象
$count = $model->where($map)->count();// 查询满足要求的总记录数
$page = new \Think\Page($count,$pagesize);// 实例化分页类 传入总记录数和每页显示的记录数
//用setConfig方法来修改默认的一些设置
$page->setConfig('prev','上一页');
$page->setConfig('next','下一页');
$page->setConfig('first','首页');
$page->setConfig('last','末页');
$page->lastSuffix=false;
//分页跳转的时候保证查询条件
if(!empty($find)){
$page->parameter['find'] = urlencode($find);
}
$show = $page->show();// 分页显示输出
$data = $model->where($map)->page("{$p},{$pagesize}")->select();
$this->assign('find',$find);
$this->assign('page',$show);
$this->assign('data',$data);
$this->display();
}