TP5分页类使用——超级简单好用

本文详细介绍ThinkPHP框架中分页功能的实现方法,通过实例演示如何简化分页操作,包括页码自动获取、SQL语句自动生成及分页按钮渲染等功能。并提供模板中常用的分页操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文目录:

  1. 首先知道最原始的分页如何实现。
  2. TP分页类相当简单。
  3. 模板中常用

 

首先知道最原始的分页如何实现。

页面传进来一个p表示当前请求的页码,控制器接受到参数,组装到sql中,并且配置page的配置信息,例如,每页显示多少数据,然后利用sql先查出总个数,然后利用分页关系组装sql,查出来之后的得到对应的数据,接下来开始解析分页按钮等信息的渲染。经过漫长复杂的处理才可以完成一个分页的使用。

TP分页类相当简单。

其中将获取当前页码自动化获取,根据model自动组装sql,结合render渲染出需要的分页按钮。相当简单。

具体说下,

 1 public function getlist()
 2 {
 3 $cartoon_where = ['block_sta' => 3,  'is_on_show' => 1];
 4 $orderBy = ['hot_num' => 'desc'];
 5 $hot_cartoons = Model('cartoon')
 6     ->field('id,title,thumb,author,last_chapt,last_chapt_num,tags,serial_sta')
 7     ->where($cartoon_where)
 8     ->order($orderBy)
 9     ->paginate(5, false, ['var_page'=>'p']);
10 return $hot_cartoons;
11 }

只需要在model中使用一个  ,配置url中表示页码的字符,这里用p,其实默认的是 'page'  .如果使用了page也可以任何东西都不用配置

paginate(5, false, ['var_page'=>'p']);

 

所有获取页码,组装sql,查询总数等都是 类完成,但要注意调用的是model,而且返回的是一个bootstrap对象,但是这个data数据可以直接使用。
简直不能更爽~

 

例子详情参见:
控制器:

app\mobile\controller\rank    ->book_hot()    和   ->ajax_ranking_info_book()

 

注意:
这个分页参数必须是get方式传递过来的。post的方式不支持

 

模板中常用

{if($books->isEmpty())}
//是否为空的判断

{$books->currentPage()}
//当前页码的获取

{$books->lastPage()}
//最后一页页码的获取

 

转载于:https://www.cnblogs.com/yangf2016/p/7851508.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值