`

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分页功能类

    在PHP开发中,分页是一项基础且重要的功能,...总的来说,ThinkPHP的`Page`类为开发者提供了强大的分页工具,通过简单的调用即可实现复杂分页需求。理解和掌握这个类的使用,将有助于提升PHP项目的开发效率和用户体验。

    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 ajax分页

    在Web开发中,数据量较大的页面常常需要分页来提高用户...总的来说,ThinkPHP结合Ajax实现的分页技术是提高Web应用性能和用户体验的有效手段。通过合理的架构设计和代码组织,开发者可以轻松地在项目中应用这一技术。

    ThinkPHP分页类使用详解

    以下是对ThinkPHP分页类使用的详细解释。 首先,要在控制器中引入分页方法。在本例中,我们看到在`MsgManageAction`控制器中,引入了`Page`类。这是通过`import`函数完成的,它加载了ThinkPHP框架目录下的`Page....

    thinkphp分页样式好看样式paginate

    paginate分页样式功能,将代码拷贝解压到extend目录下,然后查询时使用 -&gt;paginate($limit,false,['query' =&gt; request()-&gt;param(),'type' =&gt; 'page\Page','var_page' =&gt; 'page']);查询。

    thinkphp分页方法

    在 ThinkPHP 中,分页主要通过`Page`类实现。该类提供了一系列的方法来处理分页逻辑,包括数据查询、页面导航等。 #### 三、分页配置与实现 1. **引入分页类**: 在 ThinkPHP 中,首先需要引入分页类`Page`。可以...

    thinkphp分页功能

    本文将深入探讨ThinkPHP框架中的分页功能及其应用场景、实现原理和CSS类的使用。 首先,我们要理解分页的基本概念。分页是将数据库查询结果分成多个部分,每次只显示一部分,用户可以通过点击页码或导航按钮来浏览...

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

    本文将详细介绍ThinkPHP分页类Page的使用方法,并通过实际代码示例说明如何在项目中实现分页功能。 首先,了解ThinkPHP分页类Page的存放位置是必要的。ThinkPHP的分页类位于路径ThinkPHP/Extend/Library/ORG/Util/...

    tp3.2+ajax无刷新分页

    描述中提到"完整代码和数据库结构,还有文档指引,详细介绍",这意味着提供的是一个完整的项目实例,包括了ThinkPHP 3.2框架下的代码实现、数据库设计以及相关的指导文档。这使得开发者可以直接参考或借鉴这个实例来...

    ThinkPHP实现分页功能

    此外,`Page`类还包含了一些私有属性,如`$total`(总记录数)、`$listRows`(每页显示行数)、`$limit`(SQL查询中的LIMIT子句)、`$uri`(当前链接URL)、`$pageNum`(总页数)和`$config`(分页显示的文本配置)...

    TP5分页类.rar

    "TP5分页类"这个压缩包文件显然是针对ThinkPHP 5版本提供的一些自定义分页样式,用于替代框架默认的样式,以满足更个性化的界面需求。 1. **ThinkPHP 5分页基础** ThinkPHP 5中的分页功能是通过`Paginator`类来...

    ThinkPHP3.2框架自带分页功能实现方法示例

    ThinkPHP分页功能是通过Page类实现的,该类负责生成分页所需的参数,并返回分页结果。分页参数可以与数据库查询语句结合使用,这样可以方便地对数据库中的数据进行分页显示。 在前端页面中,我们通常会展示分页链接...

    ThinkPHP 3.2 数据分页代码分享

    1. 分页类Page的使用:了解Page类的基本方法和属性,知道如何创建分页对象并获取分页信息。 2. 分页参数的设置:了解如何使用setConfig方法自定义分页链接和头部信息的显示模板。 3. 模型的复制和使用:了解如何在...

    thinkphp ajax 分页

    在这个例子中,`AjaxPage`继承了ThinkPHP内置的`Page`类,并重写了`show`方法以定制分页的显示样式。 总结,实现ThinkPHP中的AJAX分页需要以下几个关键步骤: 1. 在控制器中处理分页请求,根据页码查询数据库并返回...

    分页的用法model

    4. **API设计**:为了支持分页,API接口需要接收并处理分页参数,通常包括`page`(页码)和`pageSize`(每页大小),返回的数据应包含当前页的数据以及总页数。 5. **优化**:考虑到性能,可以采用缓存策略,例如对...

    php分页类 php 分页类大全

    - 使用`LIMIT`和`OFFSET`关键字在SQL查询中实现分页,例如:`SELECT * FROM table LIMIT $perPage OFFSET ($currentPage - 1) * $perPage`。 4. **预编译的PDO分页** - PDO支持预编译语句,可以有效地防止SQL注入...

Global site tag (gtag.js) - Google Analytics