2019独角兽企业重金招聘Python工程师标准>>>

一、分页方法

/*** TODO 基础分页的相同代码封装,使前台的代码更少* @param $m 模型,引用传递* @param $where 查询条件* @param int $pagesize 每页查询条数* @return \Think\Page*/
function getpage(&$m,$where,$pagesize=10){$m1=clone $m;//浅复制一个模型$count = $m->where($where)->count();//连惯操作后会对join等操作进行重置$m=$m1;//为保持在为定的连惯操作,浅复制一个模型$p=new Think\Page($count,$pagesize);$p->lastSuffix=false;$p->setConfig('header','<li class="rows">共<b>%TOTAL_ROW%</b>条记录&nbsp;&nbsp;每页<b>%LIST_ROW%</b>条&nbsp;&nbsp;第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');$p->setConfig('prev','上一页');$p->setConfig('next','下一页');$p->setConfig('last','末页');$p->setConfig('first','首页');$p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');$p->parameter=I('get.');$m->limit($p->firstRow,$p->listRows);return $p;
}

getpage方法可以放在TP框架的 Application/Common/Common/function.php,这个文档可以专门放置一些通用的方法,在哪里都可以调用(如:Controller文件,View文件等)。

二、调用分页方法

$m=M('products');
$p=getpage($m,$where,10);
$list=$m->field(true)->where($where)->order('id desc')->select();
$this->list=$list;
$this->page=$p->show();

View的代码

<div class="pagination">  
{$page}
</div>

三、最后就是分页的样式了,这个有些乱,因后台框架网上下载的,样式还没来的及整理,这个样式也可以自己实现,简单的。

.pagination ul {display: inline-block;margin-bottom: 0;margin-left: 0;-webkit-border-radius: 3px;-moz-border-radius: 3px;border-radius: 3px;-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.05);box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pagination ul li {display: inline;
}.pagination ul li.rows {line-height: 30px;padding-left: 5px;
}
.pagination ul li.rows b{color: #f00}.pagination ul li a, .pagination ul li span {float: left;padding: 4px 12px;line-height: 20px;text-decoration: none;background-color: #fff;background: url('../images/bottom_bg.png') 0px 0px;border: 1px solid #d3dbde;/*border-left-width: 0;*/margin-left: 2px;color: #08c;
}
.pagination ul li a:hover{color: red;background: #0088cc;
}
.pagination ul li.first-child a, .pagination ul li.first-child span {border-left-width: 1px;-webkit-border-bottom-left-radius: 3px;border-bottom-left-radius: 3px;-webkit-border-top-left-radius: 3px;border-top-left-radius: 3px;-moz-border-radius-bottomleft: 3px;-moz-border-radius-topleft: 3px;
}
.pagination ul .disabled span, .pagination ul .disabled a, .pagination ul .disabled a:hover {
color: #999;
cursor: default;
background-color: transparent;
}
.pagination ul .active a, .pagination ul .active span {
color: #999;
cursor: default;
}
.pagination ul li a:hover, .pagination ul .active a, .pagination ul .active span {
background-color: #f0c040;
}
.pagination ul li.last-child a, .pagination ul li.last-child span {-webkit-border-top-right-radius: 3px;border-top-right-radius: 3px;-webkit-border-bottom-right-radius: 3px;border-bottom-right-radius: 3px;-moz-border-radius-topright: 3px;-moz-border-radius-bottomright: 3px;
}.pagination ul li.current a{color: #f00 ;font-weight: bold; background: #ddd}

转载于:https://my.oschina.net/jasonwung/blog/618220

ThinkPHP 分页实现相关推荐

  1. ThinkPHP分页实例

    ThinkPHP分页实例 (2014-09-20 15:34:36) 很多人初学thinkphp时,不太熟悉thinkphp的分页使用方法,现在将自己整理的分页方法分享下,有需要的朋友可以看看. 控制 ...

  2. php dump utfp,php pchart乱码-使用REST接口获取GeoServer中的...-结合 thinkPHP 分页写成自己分页类_169IT.COM...

    本页文章导读: ▪php pchart乱码      有俩种情况:①:未将中文字符编码格式修改成utf-8 (例子如下:)mb_convert_encoding($data, "html-e ...

  3. thinkphp分页格式的完全自定义,直接输入数字go到输入数字页

    实现分页效果如下: 以下标注红色字体的为重点 找到文件page.class.php在ThinkPHP/Library/Thinkpage.class.php并打开文件,复制函数show,在本文件中黏贴 ...

  4. ThinkPHP分页链接支持数组参数的办法

    这几天在用ThinkPHP做系统,搜索页有个数组参数提交 <input class="params_t" name="t[]" type="ch ...

  5. php 分页类 bootstrap,ThinkPHP分页使用bootstrap样式

    环境:ThinkPHP3.2.3  bootstrap 3 ​​​​​​​最终结果: 编辑Thinkphp/library/page.class.php文件,在分页的的html标签明,外包一个li元素 ...

  6. php分页样式,thinkphp分页样式修改

    用tp框架内置的分页很容易实现分页功能. 首先是实例化数据表,然后统计数据,最后进行实例化分页类并按自己需要显示. 但是内置的分页样式可能不喜欢,感觉不是那么友好.所有可以个性化修改一下. 手册也提供 ...

  7. thinkphp 分页出错 $page-render() 出错

    1.出错原因可能很简单,就是在查询的时候写的是select,而不是paginate 2.thinkphp多层查询 /*** 试卷列表* @param int $page* @return mixed* ...

  8. THINKPHP 分页类

    首先认识下this->assign和this->display的区别 assign为对模板变量赋值 display为输出模板变量 $Page->firstRow.','.$Page- ...

  9. thinkphp+ajax无刷新分页并加载显示图片

    2019独角兽企业重金招聘Python工程师标准>>> 最近自己用thinkphp和bootstrap做一个小站点,在用到ajax与后台数据库交互实现无刷新分页时,因为我需要返回的数 ...

最新文章

  1. elasticsearch的多索引联合查询以及范围日期查询示例
  2. SM35/BDC Record / Log 导出
  3. 关于python读取文件的规则
  4. OpenCV计算图像的平均值和标准差的函数meanStdDev函数的使用
  5. vue Cli 脚手架的搭建
  6. 一次性加载树结构数据表 mapper加载
  7. 双十一我们在作战室干什么?零点刚过,我偷偷提交了几行代码!
  8. 拉格朗日乘数法_拉格朗日乘数法介绍(不含证明)
  9. HTML的基本知识(七)——表单的基本知识及案例
  10. dockerhub 拉取地址_使用docker,进行dockerhub仓库上传镜像,拉取镜像。
  11. linux安装postgresql数据库
  12. 通过 Nginx 来实现禁止国外IP访问网站
  13. GIS开发进阶之路(十三) Activator和new的区别、GP工具输入参数问题、写入JObject到json文件、ArcGIS Server REST API、动态规划、贪心算法
  14. python中调用音乐_python如何插入音乐
  15. 15微型计算机系统不包括,全国2002年10月自学考试计算机应用基础真题
  16. Wave VR Native SDK学习(一)
  17. AMP Adversarial Motion Priors for Stylized Physics-动作生成算法
  18. ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated
  19. JPEG图片格式简单分析
  20. python富翁与穷人_穷人和富人最根本的区别

热门文章

  1. 机器学习的大局:用神经网络和TensorFlow分类文本
  2. 问题1:U盘可以识别但无法打开;问题2:U盘成为启动盘之后如何恢复成普通U盘。
  3. Pytorch+Text-CNN+Word2vec+电影评论情感分析实战
  4. 英特尔史上最大收购!英特尔拟300亿美元收购GF,审批成关键!
  5. 【前沿技术】2021年AI将改变制造业的6大应用趋势
  6. 一文尽览5G全产业链及新机遇
  7. 6分钟完成ImageNet训练,NVIDIA创下六项AI性能新记录!
  8. AI手机报告 | 揭秘手机行业未来AI之路
  9. 量子通信产业化初试,中国筹建千亿级国家实验室
  10. 李飞飞公布谷歌云TPU、AutoML、行业方案等多项进展,AI云计算成谷歌全新增长点...