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将数据导入到Foxmail的实现代码
Sep 05 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
php一些错误处理的方法与技巧总结
Aug 10 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
php生成验证码函数
Oct 20 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
php实现微信支付之现金红包
May 30 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
PHP面向对象分析设计的经验原则
2008/09/20 PHP
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
PHP添加图片水印、压缩、剪切的封装类
2015/08/17 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
javascript每日必学之循环
2016/02/19 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
Python生成随机密码的方法
2017/06/16 Python
python队列queue模块详解
2018/04/27 Python
flask入门之表单的实现
2018/07/18 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
会议开场欢迎词
2014/01/15 职场文书
2014自主招生自荐信策略
2014/01/27 职场文书
工作简报怎么写
2015/07/21 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书