>  기사  >  PHP 프레임워크  >  thinkphp에서 페이징을 구현하는 방법

thinkphp에서 페이징을 구현하는 방법

藏色散人
藏色散人원래의
2019-07-03 14:05:597760검색

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 프레임워크 기술 기사 칼럼에서 발췌한 것입니다: http://www.php.cn/phpkj/thinkphp/

위 내용은 thinkphp에서 페이징을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.