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和MySQL保存和输出图片
Oct 09 PHP
global.php
Dec 09 PHP
PHP数组操作汇总 php数组的使用技巧
Jul 17 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
Jul 22 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
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 无限级 SelectTree 类
2009/05/19 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
php微信开发之谷歌测距
2018/06/14 PHP
Javascript模块模式分析
2008/05/16 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
redux.js详解及基本使用
2019/05/24 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
举例详解Python中的split()函数的使用方法
2015/04/07 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
python for循环remove同一个list过程解析
2019/08/14 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
python中time、datetime模块的使用
2020/12/14 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
《骆驼和羊》教学反思
2014/02/27 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
母亲节寄语大全
2015/02/27 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫