首页 >php框架 >ThinkPHP > 正文

thinkphp如何实现分页

原创2019-07-11 18:00:2503772

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框架技术文章栏目://m.sbmmt.com/phpkj/thinkphp/

以上就是thinkphp如何实现分页的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:thinkphp
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • thinkphp3.2 基础视频教程thinkphp3.2 基础视频教程
  • ThinkPHP5基础视频教程ThinkPHP5基础视频教程
  • ThinkPHP6.0极速入门(视频教程)ThinkPHP6.0极速入门(视频教程)
  • ThinkPHP6.0公益直播课ThinkPHP6.0公益直播课
  • 视频教程分类