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 相关文章推荐
用PHP连接Oracle数据库
Oct 09 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
php实现的Cookies操作类实例
Sep 24 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
php字符串函数学习之strstr()
Mar 27 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP 中魔术常量的实例详解
Oct 26 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
Yii框架引入coreseek分页功能示例
Feb 08 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
php实现JWT(json web token)鉴权实例详解
Nov 05 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中截取字符串支持utf-8
2007/01/18 PHP
PHPCMS的使用小结
2010/09/20 PHP
php 定界符格式引起的错误
2011/05/24 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
初识Laravel
2014/10/30 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
一段实时更新的时间代码
2006/07/07 Javascript
JAVASCRIPT对象及属性
2007/02/13 Javascript
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
用户注册常用javascript代码
2009/08/29 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
从0开始的Python学习016异常
2019/04/08 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
个人自我评价分享
2013/12/20 职场文书
车祸赔偿收入证明
2014/01/09 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
通知书大全
2015/04/27 职场文书
如何做好工作总结!
2019/04/10 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL