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 cookis创建实现代码
Mar 16 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
php输出1000以内质数(素数)示例
Feb 16 PHP
php验证码实现代码(3种)
Sep 07 PHP
php版微信公众平台入门教程之开发者认证的方法
Sep 26 PHP
PHP 将dataurl转成图片image方法总结
Oct 14 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 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
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
php树型类实例
2014/12/05 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
Bootstrap与Angularjs的模态框实例代码
2017/08/03 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
layui动态表头的实现代码
2019/08/22 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python编程中的异常处理教程
2015/08/21 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
python zip()函数使用方法解析
2019/10/31 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
Numpy 多维数据数组的实现
2020/06/18 Python
python字典的值可以修改吗
2020/06/29 Python
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
上海期货面试题
2014/01/31 面试题
linux面试题参考答案(5)
2016/11/05 面试题
运动会入场词100字
2014/02/06 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
Python+Appium自动化测试的实战
2021/06/30 Python