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学习之PHP表达式
Oct 09 PHP
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
php加密解密实用类分享
Jan 07 PHP
PHP自定session保存路径及删除、注销与写入的方法
Nov 18 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
php实现paypal 授权登录
May 28 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
thinkphp5.0自定义验证规则使用方法
Nov 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建立文件夹代码
2015/01/06 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
Python实现约瑟夫环问题的方法
2016/05/03 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
对python中的argv和argc使用详解
2018/12/15 Python
python读取各种文件数据方法解析
2018/12/29 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
《画杨桃》教学反思
2014/04/13 职场文书
社区义诊活动总结
2014/04/30 职场文书
个人投资计划书
2014/05/01 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
学习十八大标语
2014/10/09 职场文书
写给医生的感谢信
2015/01/22 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
党支部对转正的意见
2015/06/02 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书