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>
효과:
온라인에서 누군가가 공유한 또 다른 스타일:
<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 프레임워크 기술 기사 칼럼에서 발췌한 것입니다: http://www.php.cn/phpkj/thinkphp/
위 내용은 thinkphp에서 페이징을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!