thinkphp3.2.3 分页代码分享


Posted in PHP onJuly 28, 2016

对于thinkphp分页的实现效果,两种调用方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法

 thinkphp3.2.3 分页代码分享

1、在公共函数Application/Common/Common/function.php中书写: 

function getpage($count,$pagesize=10) {
 $page=new Think\Page($count,$pagesize);
 $page->setConfig('header', '<li>共<b>%TOTAL_ROW%</b>条记录 <b>%NOW_PAGE%</b>/<b>%TOTAL_PAGE%</b>页</li>');
 $page->setConfig('prev', '上一页');
 $page->setConfig('next', '下一页');
 $page->setConfig('last', '末页');
 $page->setConfig('first', '首页');
 $page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
 $page->lastSuffix=false;//最后一页不显示总页数
 return $page;
}

在控制器PageController.class.php中调用 

namespace Home\Controller;
use Think\Controller;
class PageController extends Controller {
 public function index() {
  $m=M('user');
  $count=$m->count();
  $page= getpage($count,8);//Common/function.php中分页
  $list=$m->limit($page->firstRow,$page->listRows)->select();
  $this->assign('list',$list);//赋值数据集
  $this->assign('page',$page->show());//赋值分页输出
  $this->display();
 }
}

在视图index/index.html中显示 

<!DOCTYPE html>
<html>
 <head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <link href="__CSS__/page.css" rel="stylesheet" />
 </head>
 <body>
  <div>
   <volist name="list" id="vo">
    <notemply name="$vo['name']">
     用户名:<p>{$vo['name']}</p>
    </notemply>
   </volist>
   <div>
    <table>
     <tr>
      <td colspan="3" bgcolor="#FFFFFF">
       <div class="pages">{$page} </div>
      </td>
     </tr>
    </table>
   </div>
  </div>
 </body>
</html>

样式的书写page.css 

.pages a,.pages span {
 display:inline-block;
 padding:2px 5px;
 margin:0 1px;
 border:1px solid #f0f0f0;
 -webkit-border-radius:3px;
 -moz-border-radius:3px;
 border-radius:3px;
}
.pages a,.pages li {
 display:inline-block;
 list-style: none;
 text-decoration:none; color:#58A0D3;
}
.pages a.first,.pages a.prev,.pages a.next,.pages a.end{
 margin:0;
}
.pages a:hover{
 border-color:#50A8E6;
}
.pages span.current{
 background:#50A8E6;
 color:#FFF;
 font-weight:700;
 border-color:#50A8E6;
}


 

2、在模板UserModel.class.php中书写分页函数

namespace Home\Model;
use Think\Model;
class UserModel extends Model {
 public function getPage() {
   $page=I('p',0,'int');
   $limit=8;
   $data=$this->page($page,$limit)->select();
   $count= $this->count();
   $Page=new \Think\Page($count, $limit);
   
   $Page->lastSuffix=false;//是否显示总页数
   $Page->setConfig('header','<li>共<b>%TOTAL_ROW%</b>幅图片  每页<b>'.$limit.'</b>幅  <b>%NOW_PAGE%</b>/<b>%TOTAL_PAGE%</b>页</li>');
   $Page->setConfig('prev','上一页');
   $Page->setConfig('next','下一页');
   $Page->setConfig('last','末页');
   $Page->setConfig('first','首页');
   $Page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
   $show=$Page->show();
   return array('list'=>$data,'page'=>$show);
 }
}

控制器PageController.class.php中调用 

namespace Home\Controller;
use Think\Controller;
class PageController extends Controller {
 public function index() {
  $m=D('Upload_img');
  $list=$m->getPage();//model中分页
  $this->assign('list',$list);//赋值数据集
  $this->display();
 }
}

视图显示index/index.html 

<!DOCTYPE html>
<html>
 <head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <link href="__CSS__/page.css" rel="stylesheet" />
 </head>
 <body>
  <div>
   <volist name="list.list" id="vo">
    <notemply name="$vo['name']">
     用户名:<p>{$vo['name']}
    </notemply>
   </volist>
   <div>
    <table>
     <tr>
      <td colspan="3" bgcolor="#FFFFFF">
       <div class="pages">{$list.page} </div>
      </td>
     </tr>
    </table>
   </div>
  </div>
 </body>
</html>

分页的样式与第1中公共方法中page.css中样式相同 
以上<link href="__CSS__/page.css" rel="stylesheet" />引用文件常量"__CSS__"在公共配置文件中配置:

return array( 'TMPL_PARSE_STRING'=>array(
  '__CSS__'=>__ROOT__.'/Public/Css',
 ))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
codeigniter中实现一次性加载多个view的方法
Mar 20 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
详解使用php-cs-fixer格式化代码
Sep 16 PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 #PHP
PHP实现带重试功能的curl连接示例
Jul 28 #PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 #PHP
php倒计时出现-0情况的解决方法
Jul 28 #PHP
24条货真价实的PHP代码优化技巧
Jul 28 #PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 #PHP
php字符串操作针对负值的判断分析
Jul 28 #PHP
You might like
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
php中的登陆login实例代码
2016/06/20 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
AngularJS身份验证的方法
2016/02/17 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python解析最简单的验证码
2016/01/07 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
Python和Sublime整合过程图示
2019/12/25 Python
python中os包的用法
2020/06/01 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
如何用python写个模板引擎
2021/01/14 Python
本科生个人求职自荐信
2013/09/26 职场文书
动物科学专业毕业生的自我评价
2013/11/29 职场文书
村官学习十八大感想
2014/01/15 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
班主任开场白
2015/06/01 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Redis分布式锁的7种实现
2022/04/01 Redis
Python的property属性详细讲解
2022/04/11 Python
nginx七层负载均衡配置详解
2022/07/15 Servers