Home  >  Article  >  PHP Framework  >  How to implement paging in thinkphp

How to implement paging in thinkphp

藏色散人
藏色散人Original
2019-07-03 14:05:597728browse

How to implement paging in thinkphp

thinkphp paging is very convenient to use the paginate() method, but if you need to further process the query information before it can be output on the front page, you must use the each() method , perform traversal operations on the results obtained from the query.

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();
    }

If the paging is output directly, there will be no style, irregularity, and ugly.

You can improve the output effect through a simple style:

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

The effect is:

How to implement paging in thinkphp

Another style shared by someone online :

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

The effect is:

How to implement paging in thinkphp

We can use different styles to write and adjust freely.

Of course, you can also add some content you want to display, such as: how many records are there in the query that meets the conditions;

Of course, you can refactor or create a new paging style class

How to implement paging in thinkphp

Similar to this, this is how to achieve it.

Of course, you can also use a lazier method and modify it directly in this file:

Below I will simply add a total number of records for reference:

How to implement paging in thinkphp

Then such a statistic will be added after paging:

How to implement paging in thinkphp

This article comes from the ThinkPHP framework technical article column: http://www.php.cn/phpkj/thinkphp/

The above is the detailed content of How to implement paging in thinkphp. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn