Rumah  >  Artikel  >  rangka kerja php  >  thinkphp如何实现分页

thinkphp如何实现分页

藏色散人
藏色散人asal
2019-07-03 14:05:597725semak imbas

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/

Atas ialah kandungan terperinci thinkphp如何实现分页. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:thinkphp中防止xss攻击的方法Artikel seterusnya:thinkphp中间件是什么