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 无极分类(递归)实现代码
Jan 05 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
PHP面向对象概念
Nov 06 PHP
解析PHP跨站刷票的实现代码
Jun 18 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
php通过字符串调用函数示例
Mar 02 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
php打造智能化的柱状图程序,用于报表等
Jun 19 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
Feb 23 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
Laravel创建数据库表结构的例子
Oct 09 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
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
js实现分割上传大文件
2016/03/09 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
如何选择适合你的JavaScript框架
2017/11/20 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
在Python中处理XML的教程
2015/04/29 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
Python datetime模块使用方法小结
2020/06/18 Python
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
人事文员岗位职责
2014/02/16 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
介绍信样本
2015/01/31 职场文书
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS
Python实现文字pdf转换图片pdf效果
2022/04/03 Python