`

thinkphp分页代码Page类和limit讲解

阅读更多

通常在数据查询后都会对数据集进行分页操作,ThinkPHP也提供了分页类来对数据分页提供支持。 下面是数据分页的两种示例。

       

第一种:利用Page类和limit方法

            $User = M('User'); // 实例化User对象
            $count = $User->where('status=1')->count();// 查询满足要求的总记录数
            $Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25)
            $show = $Page->show();// 分页显示输出
            // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
            $list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
            $this->assign('list',$list);// 赋值数据集
            $this->assign('page',$show);// 赋值分页输出
            $this->display(); // 输出模板

       

第二种:分页类和page方法的实现

            $User = M('User'); // 实例化User对象
            // 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
            $list = $User->where('status=1')->order('create_time')->page($_GET['p'].',25')->select();
            $this->assign('list',$list);// 赋值数据集
            $count = $User->where('status=1')->count();// 查询满足要求的总记录数
            $Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
            $show = $Page->show();// 分页显示输出
            $this->assign('page',$show);// 赋值分页输出
            $this->display(); // 输出模板

       

带入查询条件

        如果是POST方式查询,如何确保分页之后能够保持原先的查询条件呢,我们可以给分页类传入参数,方法是给分页类的parameter属性赋值

            $count = $User->where($map)->count();// 查询满足要求的总记录数
            $Page = new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
            //分页跳转的时候保证查询条件
            foreach($map as $key=>$val) {
            $Page->parameter[$key] = urlencode($val);
            }
            $show = $Page->show();// 分页显示输出

       

分页样式定制

        我们可以对输出的分页样式进行定制,分页类Page提供了一个setConfig方法来修改默认的一些设置。例如:

            $page->setConfig('header','个会员');

        setConfig方法支持的属性包括: header:头部描述信息,默认值 “共 %TOTAL_ROW% 条记录” prev:上一页描述信息,默认值 “<<” next:下一页描述信息,默认值 “>>” first:第一页描述信息,默认值 “1...” last:最后一页描述信息,默认值 “...%TOTAL_PAGE%” theme :分页主题描述信息,包括了上面所有元素的组合 ,设置该属性可以改变分页的各个单元的显示位置,默认值是 "%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%"

       

其中,显示位置的对应的关系为:

        位置     说明
        %FIRST%     表示第一页的链接显示
        %UP_PAGE%     表示上一页的链接显示
        %LINK_PAGE%     表示分页的链接显示
        %DOWN_PAGE%     表示下一页的链接显示
        %END%     表示最后一页的链接显示

       

除了改变显示信息外,你还可以使用样式来定义分页的显示效果。 这些样式class包括:first(第一页)、prev(上一页)、next(下一页)、end(最后一页)、num(其他页的数字)、current(当前页)。

 

分享到:
评论

相关推荐

    thinkphp视图分页Page类分页功能代码下载

    thinkphp视图分页Page类分页功能代码下载 利用viewmodel模型多表分页功能 利用D封装类。进行分页代码

    thinkphp 分页类

    thinkphp 分页类

    thinkPHP分页类(Page.class.php)类似discuz分页效果

    根据thinkphp官方分页类修改,弥补不足,优化分页逻辑,加入跳转页数,实现最具用户体验的分页类(类似discuz论坛分页)

    thinkphp分页

    thinkphp分页

    thinkphp分页功能类

    php的分页在php中的应用是很广泛的,这里主要提供php各种分页技术,让你学习到分页的原理是怎样的,以及在php中如何进行分页操作.thinkphp分页功能类

    ThinkPHP通用分页代码

    ThinkPHP通用分页核心代码,各版本适用.内附代码详细说明.

    ThinkPHP分页类

    当网站的留言内容越来越多的时候,分页功能的应用就应运而生了,来重点讲解下ThinkPHP框架自带的分页类的调用。 知识点: 1、count函数的试用 2、Page类实例化操作及相关参数了解 3、limit函数了用 4、show函数...

    ThinkPHP5分页paginate代码实例解析

    paginate(每页数量,是否简洁分页,分页参数) 使用方式 $list = db('user')-&gt;paginate(10); 自定义参数传参 $list = db('user')-&gt;paginate(10,false,['query'=&gt;array('id' =&gt; $id)]); 其它参数 // 总数据 $this-&gt;...

    ThinkPhp3.1.3仿百度分页类

    ThinkPhp仿百度分页类,在ThinkPhp3.1.3下测试通过 Author: 泡泡堂 &lt;46445280@qq.com&gt; 参照 ThinkPhp3.1.3 及 ThinkPhp3.2.1护展包下的 Page.class.php 说明:在ThinkPhp3.1.3下测试通过,其它版本未做测试 ...

    ThinkPHP分页类.zip

    当网站的留言内容越来越多的时候,分页功能的应用就应运而生了,来重点讲解下ThinkPHP框架自带的分页类的调用。 知识点: 1、count函数的试用 2、Page类实例化操作及相关参数了解 3、limit函数了用 4、...

    thinkphp分页页面样式

    thinkphp分页页面样式

    Thinkphp代码生成器

    Thinkphp代码生成器,能够自动生成表单和实体。业务逻辑。能够快速开发程序功能

    ThinkPHP好看的分页类样式文件

    2.page.css 这个是24款分页的样式 在模版中使用, 引入 page.css !-PUBLIC-!/Css/page.css" / &gt; &lt;div class="green-black"&gt;&lt;{$page}&gt; 如果: 要变更分页的样式, 打开 page.css ,参照修改相对应的 &lt;div class ="xxx"&gt;...

    Thinkphp核心代码分析

    thinkphp核心代码分析,thinkphp从入门到精通

    thinkphp ajax分页

    thinkphp ajax分页,该代码实现无刷新分页,可带参数。代码拓展性强,简单,易用。代码已经调试,可以直接使用。

    分页类thinkphp

    使用此自带分页类进行分页,可以很简单的实现分页技术

    ajax thinkphp无刷新分页模版类

    ajax thinkphp无刷新分页模版类,使用在之前上传的文件里

    THINKPHP内容分页代码分享

    主要给大家分享了一段自用的THINKPHP内容分页代码,从本人项目中提取出来的,十分好用,这里推荐给小伙伴们。

    thinkphp分页实现效果

    对于thinkphp分页的实现效果,一共分为两种一种是一种调用公共函数中的函数方法,而另一种是模型中书写分页的方法,下面就给需要的朋友来整理一下。 一、分页方法 /** * TODO 基础分页的相同代码封装,使前台的...

    传智播客ThinkPHP后端代码生成器

    传智播客ThinkPHP后端代码生成器.大型电子商城

Global site tag (gtag.js) - Google Analytics