
thinkphp分页使用paginate()方法来实现是十分方便的,但是如果需要对查询的信息做进一步的处理才能在前台页面输出,就必须通过each()方法,对查询得到的结果进行遍历操作。
public function faculty() { //查询院系专业信息 //--查询院系专业信息 $result=Db::name('sys_faculty')->field('*')->paginate(10,false,[ 'query'=>['user'=>'123','role'=>'student'] ])->each(function($item, $key){ //在这里对查询的值进行进一步的整理!!! $f_faculty=Db::name('sys_faculty')->field('name')->where('id',$item['parentid'])->find(); $item['faculty']=$f_faculty['name']; //如果是Db类操作分页数据的话,each方法的闭包函数中需要使用返回值 return $item; }); $this->assign(['result' => $result]); return $this->fetch(); }
直接输出分页的话,没有样式,不规则,很难看。
下面可以通过简单的样式,改善一下输出效果:
.page_li{ } .page_li li{ display:inline-block; padding:0px 10px; } .page_li li a{ display:inline-block; padding:0px 4px; color:#0088CC; font-size:small; } .page_li li.active{ color:red; font-size:large; }
效果为:

立即学习“PHP免费学习笔记(深入)”;
网上有人分享的另一个样式:
/*分页*/ .pagination {} .pagination li { display: inline-block; margin-right: -1px; padding: 5px; border: 1px solid #e2e2e2; min-width: 20px; text-align: center; } .pagination li.active { background: #009688; color: #fff; border: 1px solid #009688; } .pagination li a { display: block; text-align: center; }
效果为:

我们可以采用不同的样式,进行自由编写和调整。
当然也可以增加一些想要展示的内容,例如:符合条件的查询一共有多少条记录;
ViiTor实时翻译
AI实时多语言翻译专家!强大的语音识别、AR翻译功能。
116 查看详情
当然你可以通过重构或者新建一个分页样式类

类似这个,以此实现。
当然,你也可以采用比较懒的方法,直接在此文件中修改也可以:
下面我只简单的增加一个总记录数,以做参考:

那么就会在分页后,加上这么一个统计:

本文来自ThinkPHP框架技术文章栏目:http://www.php.cn/phpkj/thinkphp/
以上就是thinkphp如何实现分页的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/366277.html
微信扫一扫
支付宝扫一扫