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&amp;java(一)
Oct 09 PHP
PHP控制网页过期时间的代码
Sep 28 PHP
PHP异步调用socket实现代码
Jan 12 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
php环境下利用session防止页面重复刷新的具体实现
Jan 09 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
PHP加密解密字符串汇总
Apr 26 PHP
Symfony核心类概述
Mar 17 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
截获网站title标签之家内容的例子
2006/10/09 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
浅析php单例模式
2014/11/25 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
[01:00:59]VP VS VG Supermajor小组赛胜者组第二轮 BO3第二场 6.2
2018/06/03 DOTA
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
python实现用户管理系统
2018/01/10 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Python 爬虫性能相关总结
2020/08/03 Python
Python 远程开关机的方法
2020/11/18 Python
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
小班上学期个人总结
2015/02/12 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
劳动仲裁调解书
2015/05/20 职场文书
公司档案管理制度
2015/08/05 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
深入理解pytorch库的dockerfile
2022/06/10 Python
Go gorilla/sessions库安装使用
2022/08/14 Golang