ThinkPHP 中的 Page 类在 ThinkPHP/Extend/Library/ORG/Util/Page.class.php 中, 所以使用前要引入 Page 类:
代码如下:
- import('ORG.Util.Page'); //Page 类的引入
- $db = M('abc');// 实例化数据表 abc
- $where = array(
- 'id'=>'2';
- );// 条件语句 $where, 例表中字段 id 的值为 2
- $count = $db->where($where)->count();// 获取符合条件的数据总数 count
- $page = new Page($count, 10);// 实例化 page 类, 传入数据总数和每页显示 10 条内容
- $limit = $page->firstRow . ',' . $page->listRows;// 每页的数据数和内容 $limit
- $result =$db->where($where))->limit($limit)->select();// 分页查询结果
- $this->result = $result;// 赋值
- $this->show = $page->show();// 获取分页的底部信息
以上代码是分页类实现的基本语句, 当然喜欢使用原生 sql 语句的朋友也可以配合原生 sql 语句实现查询分页:
代码如下:
- import('ORG.Util.Page'); //Page 类的引入
- $db = M('abc');// 实例化数据表 abc
- $where = array(
- 'id'=>'2';
- );// 条件语句 $where, 例表中字段 id 的值为 2
- $count = $db->where($where)->count();// 获取符合条件的数据总数 count
- $page = new Page($count, 10);// 实例化 page 类, 传入数据总数和每页显示 10 条内容
- $Modle = new Model();// 实例化新数据模型
- $sql = 'select id,name from abc where'.$where.'limit'.$page->firstRow.','.$page->listRows;//sql 语句
- $result = $Modle->query($sql);// 执行 sql 语句
- $this->result = $result
- $this->show=$page->show();
当然, 分布查询获取的内容也可以先对查询完的数据进行处理再赋值, 比如
代码如下:
- ...
- $result =$db->where($where))->limit($limit)->select();// 分页查询结果
- $res = abc($result);//abc 方法 (自定义方法或 php 函数) 对结果 $result 进行数据排序或重组处理等
- $this->result = $res;// 赋值
来源: https://www.php1.cn/detail/php-40d5183ac7.html