ThinkPHP使用心得分享-分页类Page的用法

yipeiwu_com6年前PHP代码库

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;//赋值

相关文章

PHP实现操作redis的封装类完整实例

本文实例讲述了PHP实现操作redis的封装类。分享给大家供大家参考,具体如下: <?php /** * Redis 操作,支持 Master/Slave 的负载集群...

PHP内置过滤器FILTER使用实例

在这一章节里, 我们来了解一个不太常用但功能强大的 PHP 特性: FILTERS, 该扩展可以用来验证(validation)和纠错(sanitization)   当数据源...

使用PHP curl模拟浏览器抓取网站信息

官方解释curl是一个利用URL语法在命令行方式下工作的文件传输工具。curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HT...

php+redis实现消息队列功能示例

本文实例讲述了php+redis实现消息队列功能。分享给大家供大家参考,具体如下: 个人理解在项目中使用消息队列一般是有如下几个原因: 把瞬间服务器的请求处理换成异步处理,缓解服务器的压...

php生成动态验证码gif图片

php生成动态验证码gif图片

这是一个通过php生成的动态验证码图片的示例,重点是可以运行哦!下面先发下效果图: 下面是php生成动态验证码需要用到的相关类和函数。 <?php /** *...