tp5运用page.class.php,【ThinkPHP学习】Page分页类学习

RT.

续上面的文章读取功能实现,接下来实现文章列表的分页功能。TP已经实现了一个分页类Page.class.php,3.1版本之前的TP Page类位于ThinkPHP扩展文件夹下,目录地址为ThinkPHP/Library/Org/Util/Page.class.php,引入使用,利用TP的import方法,import('ORG.Util.Page')。但是3.2版本之后的ThinkPHP已经将Page.class.php文件移动到了ThinkPHP/Library/Org/Think/Page.class.php,同样,声明使用Page类的方法也变了,变成$Page = new \Think\Page($count, ‘分页条数’);

OK。接下来学习Page类的使用,以文章Article为例子,Article视图中有数据项id,title,title_alias三个数据项,分别存储的是文章ID,文章标题,文章简介。

1:实例化数据对象

$article = M("Article");

2:查询总记录数

$count = $article->count();//直接读取数据表中条项总数

//或者有查询条件

$count = $article->where(查询条件)->count();//查询满足查询条件的条目数

3:实例化分页类

分页类在初始化的时候传入两个参数,一个是显示条数的总数,一个是每次取出的条数。

$Page = new \Think\Page($count, 10);

4:按照限定的条数,从数据库中读取相应数量的条数

如下,filed()指定从数据库中取出id,title,title_alias三个数据项,并且通过limit()函数限制和记录取出的条目,取完后将其赋给页面:

$list = $article->field('id,title,title_alias')->order('id')->limit($Page->firstRow.','.$Page->listRows)->select();

$this->assign('list',$list);

5:通过show()方法解析$page内容并附值给模板变量,供模板调用:

$show = $Page->show();

$this->assign('page',$show);

6:通过$this->display()调用模板显示;(display方法用于模板文件的渲染输出,show方法则用于模板内容渲染输出,关于两者的区别:http://doc.thinkphp.cn/manual/template_output.html)

7:在模板中,通过标签显示内容

{$list["id"]}{$list["title"]}

{$list["title_alias"]}

{$page}$list数组中存了对应页码中页面所需要展示的内容,其中包括id,title,title_alias。这三个内容。$page变量中存储了换页的数组以及当前的页面数,两者结合就完成了翻页的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值