1. 云栖社区>
  2. PHP教程>
  3. 正文

ThinkPHP分页实例

作者:用户 来源:互联网 时间:2017-12-01 12:00:20

实例

ThinkPHP分页实例 - 摘要: 本文讲的是ThinkPHP分页实例,本文实例讲述了ThinkPHP分页的实现方法,分享给大家供大家参考。具体方法如下:在TP3.2框架手册中有一个数据分页,不过每次都要写太多的代码,还有中文设置等有些麻烦,做为程序开发者,有必要整理下:实例运行效果如下图所示:一、分页方法:/

本文实例讲述了ThinkPHP分页的实现方法,分享给大家供大家参考。具体方法如下:

在TP3.2框架手册中有一个数据分页,不过每次都要写太多的代码,还有中文设置等有些麻烦,做为程序开发者,有必要整理下:

实例运行效果如下图所示:
ThinkPHP分页实例

一、分页方法:

/**%20*%20TODO%20基础分页的相同代码封装,使前台的代码更少%20*%[email protected]%20$m%20模型,引用传递%20*%[email protected]%20$where%20查询条件%20*%[email protected]%20int%20$pagesize%20每页查询条数%20*%[email protected]%20/Think/Page%20*/function%20getpage(&$m,$where,$pagesize=10){%20%20%20%20$m1=clone%20$m;//浅复制一个模型%20%20%20%20$count%20=%20$m->where($where)->count();//连惯操作后会对join等操作进行重置%20%20%20%20$m=$m1;//为保持在为定的连惯操作,浅复制一个模型%20%20%20%20$p=new%20Think/Page($count,$pagesize);%20%20%20%20$p->lastSuffix=false;%20%20%20%20$p->setConfig('header','<li%20class="rows">共<b>%TOTAL_ROW%</b>条记录%20%20每页<b>%LIST_ROW%</b>条%20%20第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');%20%20%20%20$p->setConfig('prev','上一页');%20%20%20%20$p->setConfig('next','下一页');%20%20%20%20$p->setConfig('last','末页');%20%20%20%20$p->setConfig('first','首页');%20%20%20%20$p->setConfig('theme','%FIRST%%20%UP_PAGE%%20%LINK_PAGE%%20%DOWN_PAGE%%20%END%%20%HEADER%');%20%20%20%20$p->parameter=I('get.');%20%20%20%20$m->limit($p->firstRow,$p->listRows);%20%20%20%20return%20$p;}

getpage方法可以放在TP框架的%20Application/Common/Common/function.php,这个文档可以专门放置一些通用的方法,在哪里都可以调用(如:Controller文件,View文件等)。

二、调用分页方法

$m=M('products');$p=getpage($m,$where,10);$list=$m->field(true)->where($where)->order('id%20desc')->select();$this->list=$list;$this->page=$p->show();再是View代码<div%20class="pagination">{$page}</div>


%20
三、最后就是分页的样式了,这个有些乱,因后台框架网上下载的,样式还没来的及整理,这个样式也可以自己实现,简单的。

.pagination%20ul%20{%20%20%20%20display:%20inline-block;%20%20%20%20margin-bottom:%200;%20%20%20%20margin-left:%200;%20%20%20%20-webkit-border-radius:%203px;%20%20%20%20-moz-border-radius:%203px;%20%20%20%20border-radius:%203px;%20%20%20%20-webkit-box-shadow:%200%201px%202px%20rgba(0,0,0,0.05);%20%20%20%20-moz-box-shadow:%200%201px%202px%20rgba(0,0,0,0.05);%20%20%20%20box-shadow:%200%201px%202px%20rgba(0,0,0,0.05);}.pagination%20ul%20li%20{%20%20display:%20inline;}.pagination%20ul%20li.rows%20{%20%20%20%20line-height:%2030px;%20%20%20%20padding-left:%205px;}.pagination%20ul%20li.rows%20b{color:%20#f00}.pagination%20ul%20li%20a,%20.pagination%20ul%20li%20span%20{%20%20%20%20float:%20left;%20%20%20%20padding:%204px%2012px;%20%20%20%20line-height:%2020px;%20%20%20%20text-decoration:%20none;%20%20%20%20background-color:%20#fff;%20%20%20%20background:%20url('../images/bottom_bg.png') 0px 0px;    border: 1px solid #d3dbde;    /*border-left-width: 0;*/    margin-left: 2px;    color: #08c;}.pagination ul li a:hover{    color: red;    background: #0088cc;}.pagination ul li.first-child a, .pagination ul li.first-child span {    border-left-width: 1px;    -webkit-border-bottom-left-radius: 3px;    border-bottom-left-radius: 3px;    -webkit-border-top-left-radius: 3px;    border-top-left-radius: 3px;    -moz-border-radius-bottomleft: 3px;    -moz-border-radius-topleft: 3px;}.pagination ul .disabled span, .pagination ul .disabled a, .pagination ul .disabled a:hover {color: #999;cursor: default;background-color: transparent;}.pagination ul .active a, .pagination ul .active span {color: #999;cursor: default;}.pagination ul li a:hover, .pagination ul .active a, .pagination ul .active span {background-color: #f0c040;}.pagination ul li.last-child a, .pagination ul li.last-child span {    -webkit-border-top-right-radius: 3px;    border-top-right-radius: 3px;    -webkit-border-bottom-right-radius: 3px;    border-bottom-right-radius: 3px;    -moz-border-radius-topright: 3px;    -moz-border-radius-bottomright: 3px;}.pagination ul li.current a{color: #f00 ;font-weight: bold; background: #ddd}


希望本文所述对大家的ThinkPHP框架程序开发有所帮助。

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索实例 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备