欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在ThinkPHP中进行查询和数据分页

程序员文章站 2022-05-26 11:12:50
...

查询用到的方法

在查询时要实现不同字段相同的查询条件,即$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();
    }