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

yipeiwu_com7年前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中若使用static关键字来修饰属性、方法,称这些属性、方法为静态属性、静态方法。static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或...

php获取从百度、谷歌等搜索引擎进入网站关键词的方法

本文实例讲述了php获取从百度、谷歌等搜索引擎进入网站关键词的方法。分享给大家供大家参考。具体实现方法如下: <?php function search_word_fr...

解析PHP中$_FILES的使用以及注意事项

$_FILES数组内容如下:$_FILES['myFile']['name'] 客户端文件的原名称。$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器...

php中实现精确设置session过期时间的方法

大多数据情况下我们对于session过期时间使用的是默认设置的时间,而对于一些有特殊要求的情况下我们可以设置一下session过期时间。 对此,可以在PHP中,设置php.ini,找到s...

PHP使用strtotime计算两个给定日期之间天数的方法

本文实例讲述了PHP使用strtotime计算两个给定日期之间天数的方法。分享给大家供大家参考。具体分析如下: PHP的strtotime函数用于将任何英文文本的日期时间描述解析为Uni...