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 相关文章推荐
改进的IP计数器
Oct 09 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
PHP安全防范技巧分享
Nov 03 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
PHP数组操作类实例
Jul 11 PHP
PHP实现简单数字分页效果
Jul 26 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
详解php命令注入攻击
Apr 06 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 sprintf()函数用例解析
2011/05/18 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
virtualenv实现多个版本Python共存
2017/08/21 Python
python将回车作为输入内容的实例
2018/06/23 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Python3 批量扫描端口的例子
2019/07/25 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
学前班教师的自我鉴定
2013/12/05 职场文书
党课学习思想汇报
2014/01/02 职场文书
招聘单位介绍信
2014/01/14 职场文书
学校门卫管理制度
2014/01/30 职场文书
教师学习培训邀请函
2014/02/04 职场文书
文化与传播毕业生求职信
2014/03/09 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
小学生红领巾广播稿
2015/08/19 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书