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 相关文章推荐
增加反向链接的101个方法 站长推荐
Jan 31 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
Jan 11 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
PHP浮点数精度问题汇总
May 13 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 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
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
jQuery的$.proxy()应用示例介绍
2014/04/03 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
JavaScript数据结构之广义表的定义与表示方法详解
2017/04/12 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
基于python实现获取网页图片过程解析
2020/05/11 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
在keras里实现自定义上采样层
2020/06/28 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
大学生涯自我鉴定
2014/01/16 职场文书
店面销售职位的职责
2014/03/09 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
长江三峡导游词
2015/01/31 职场文书
毕业纪念册寄语大全
2015/02/26 职场文书
爱护环境卫生倡议书
2015/04/29 职场文书
工作收入证明模板
2015/06/12 职场文书
js判断两个数组相等的5种方法
2022/05/06 Javascript