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

yipeiwu_com5年前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 程序员也要学会使用“异常”

网站完全开放的特性,决定了网站比任何传统软件都更希望做到“系统看起来永远都是能够正常工作的”,所以采用正确的程序错误处理方式尤为重要。理论上来说,如果设计足够完美,开发人员足够谨慎,程序...

深入理解PHP之数组(遍历顺序)  Laruence原创

深入理解PHP之数组(遍历顺序) Laruence原创

经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: 复制代码 代码如下: <?php $arr['laruence'...

PHP 批量下载一系列小型文件 函数

在工作时找素材是一个特别费时间的事情,有时要下载一系统的小图片,或者小文档、小视频,只要文件命名有规则,就可以通过PHP来批量下载下来,速度比较快,可以省下不少时间的。此处理方式,不适合大文件下载哦。...

PHP获取远程图片并保存到本地的方法

本文实例讲述了PHP获取远程图片并保存到本地的方法。分享给大家供大家参考。具体实现方法如下: <?php function GrabImage($url, $filen...

smarty巧妙处理iframe中内容页的代码

废话不多说,进去正题 做过后台的,应该都知道,经常要用到iframe来处理导航,如果按一般的思路来做这个功能,还是挺简单的 可是当我用smarty的时候,就发现了问题,比如,一个ifra...