ThinkPHP 分页实现
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>条记录 每页<b>%LIST_ROW%</b>条 第<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 分页实现相关推荐
- ThinkPHP分页实例
ThinkPHP分页实例 (2014-09-20 15:34:36) 很多人初学thinkphp时,不太熟悉thinkphp的分页使用方法,现在将自己整理的分页方法分享下,有需要的朋友可以看看. 控制 ...
- php dump utfp,php pchart乱码-使用REST接口获取GeoServer中的...-结合 thinkPHP 分页写成自己分页类_169IT.COM...
本页文章导读: ▪php pchart乱码 有俩种情况:①:未将中文字符编码格式修改成utf-8 (例子如下:)mb_convert_encoding($data, "html-e ...
- thinkphp分页格式的完全自定义,直接输入数字go到输入数字页
实现分页效果如下: 以下标注红色字体的为重点 找到文件page.class.php在ThinkPHP/Library/Thinkpage.class.php并打开文件,复制函数show,在本文件中黏贴 ...
- ThinkPHP分页链接支持数组参数的办法
这几天在用ThinkPHP做系统,搜索页有个数组参数提交 <input class="params_t" name="t[]" type="ch ...
- php 分页类 bootstrap,ThinkPHP分页使用bootstrap样式
环境:ThinkPHP3.2.3 bootstrap 3 最终结果: 编辑Thinkphp/library/page.class.php文件,在分页的的html标签明,外包一个li元素 ...
- php分页样式,thinkphp分页样式修改
用tp框架内置的分页很容易实现分页功能. 首先是实例化数据表,然后统计数据,最后进行实例化分页类并按自己需要显示. 但是内置的分页样式可能不喜欢,感觉不是那么友好.所有可以个性化修改一下. 手册也提供 ...
- thinkphp 分页出错 $page-render() 出错
1.出错原因可能很简单,就是在查询的时候写的是select,而不是paginate 2.thinkphp多层查询 /*** 试卷列表* @param int $page* @return mixed* ...
- THINKPHP 分页类
首先认识下this->assign和this->display的区别 assign为对模板变量赋值 display为输出模板变量 $Page->firstRow.','.$Page- ...
- thinkphp+ajax无刷新分页并加载显示图片
2019独角兽企业重金招聘Python工程师标准>>> 最近自己用thinkphp和bootstrap做一个小站点,在用到ajax与后台数据库交互实现无刷新分页时,因为我需要返回的数 ...
最新文章
- elasticsearch的多索引联合查询以及范围日期查询示例
- SM35/BDC Record / Log 导出
- 关于python读取文件的规则
- OpenCV计算图像的平均值和标准差的函数meanStdDev函数的使用
- vue Cli 脚手架的搭建
- 一次性加载树结构数据表 mapper加载
- 双十一我们在作战室干什么?零点刚过,我偷偷提交了几行代码!
- 拉格朗日乘数法_拉格朗日乘数法介绍(不含证明)
- HTML的基本知识(七)——表单的基本知识及案例
- dockerhub 拉取地址_使用docker,进行dockerhub仓库上传镜像,拉取镜像。
- linux安装postgresql数据库
- 通过 Nginx 来实现禁止国外IP访问网站
- GIS开发进阶之路(十三) Activator和new的区别、GP工具输入参数问题、写入JObject到json文件、ArcGIS Server REST API、动态规划、贪心算法
- python中调用音乐_python如何插入音乐
- 15微型计算机系统不包括,全国2002年10月自学考试计算机应用基础真题
- Wave VR Native SDK学习(一)
- AMP Adversarial Motion Priors for Stylized Physics-动作生成算法
- ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated
- JPEG图片格式简单分析
- python富翁与穷人_穷人和富人最根本的区别
热门文章
- 机器学习的大局:用神经网络和TensorFlow分类文本
- 问题1:U盘可以识别但无法打开;问题2:U盘成为启动盘之后如何恢复成普通U盘。
- Pytorch+Text-CNN+Word2vec+电影评论情感分析实战
- 英特尔史上最大收购!英特尔拟300亿美元收购GF,审批成关键!
- 【前沿技术】2021年AI将改变制造业的6大应用趋势
- 一文尽览5G全产业链及新机遇
- 6分钟完成ImageNet训练,NVIDIA创下六项AI性能新记录!
- AI手机报告 | 揭秘手机行业未来AI之路
- 量子通信产业化初试,中国筹建千亿级国家实验室
- 李飞飞公布谷歌云TPU、AutoML、行业方案等多项进展,AI云计算成谷歌全新增长点...