首页 > php框架 > ThinkPHP > 正文

thinkphp如何实现分页

藏色散人
发布: 2019-07-11 18:00:25
原创
7759 人浏览过

thinkphp如何实现分页

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();
    }
登录后复制

直接输出分页的话,没有样式,不规则,很难看。

下面可以通过简单的样式,改善一下输出效果:

<style>
       .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;
        }
    </style>
登录后复制

效果为:

6c93c877e34100219ad428f14c9e8d8.png

网上有人分享的另一个样式:

<style>
       /*分页*/
       .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;
       }
    </style>
登录后复制

效果为:

3f2b2bc4cdfb3de81e2d66397f55cde.png

我们可以采用不同的样式,进行自由编写和调整。

当然也可以增加一些想要展示的内容,例如:符合条件的查询一共有多少条记录; 

当然你可以通过重构或者新建一个分页样式类

4e78c9d0c5f23fbd8ad4fe1b5a60218.png

类似这个,以此实现。

当然,你也可以采用比较懒的方法,直接在此文件中修改也可以: 

下面我只简单的增加一个总记录数,以做参考: 

26ce4007c365f35b871e620ad93d101.png

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

722a1b22483c00642853aee24d1e923.png

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

以上是thinkphp如何实现分页的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板