小兔网

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>

效果为:

thinkphp如何实现分页

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

<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>

效果为:

thinkphp如何实现分页

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

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

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

thinkphp如何实现分页

类似这个,以此实现。

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

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

thinkphp如何实现分页

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

thinkphp如何实现分页

本文来自ThinkPHP框架技术文章栏目:images/2021/06/20/2021062014040711902686.

以上就是thinkphp如何实现分页的知识。速戳>>知识兔学习精品课!