
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();
}直接输出分页的话,没有样式,不规则,很难看。
下面可以通过简单的样式,改善一下输出效果:
效果为:

立即学习“PHP免费学习笔记(深入)”;
网上有人分享的另一个样式:
效果为:

我们可以采用不同的样式,进行自由编写和调整。
当然也可以增加一些想要展示的内容,例如:符合条件的查询一共有多少条记录;
当然你可以通过重构或者新建一个分页样式类

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

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

本文来自ThinkPHP框架技术文章栏目:http://www.php.cn/phpkj/thinkphp/











