>  기사  >  PHP 프레임워크  >  검색 조건을 갖춘 ThinkPHP6 페이징 솔루션

검색 조건을 갖춘 ThinkPHP6 페이징 솔루션

王雪芹
王雪芹원래의
2020-05-02 17:17:522628검색

ThinkPHP6에서는 페이징 구현도, 검색 구현도 어렵지 않지만, 검색 조건으로 검색하는 것은 많은 분들을 당황하게 합니다. 같은 상황에서 tp5 코드를 옮겨서 작동하지 않는 것을 발견했습니다. 그렇다면 ThinkPHP6에서는 검색 조건으로 페이징을 어떻게 해결할 수 있을까요?

구체적인 시나리오를 살펴보겠습니다. 키워드를 검색하고 카테고리를 선택하여 기사를 검색했습니다.

1. 문제 찾기

우선 검색 조건이 있는 첫 번째 페이지를 살펴보겠습니다.

검색 조건을 갖춘 ThinkPHP6 페이징 솔루션

그런 다음 두 번째 페이지를 살펴보겠습니다.

검색 조건을 갖춘 ThinkPHP6 페이징 솔루션

주의 깊은 친구들이 알아낼 것입니다. , 두 번째 및 세 번째 페이지의 URL에는 검색 조건이 없습니다.

2. 해결 방법:

문제의 핵심을 찾았으니 어떻게 해결할까요? 먼저 공식 웹사이트 매뉴얼로 가서 찾아보겠습니다.

검색 조건을 갖춘 ThinkPHP6 페이징 솔루션

매뉴얼에는 URL에 추가 매개변수를 전달하는 쿼리 항목이 있으므로 처리하기 쉽습니다.

코드 직접 보기:

$where=[];//筛选条件数组
     if(input('cate_id')){
        $where[] = [
                     ['a.cate_id', '=', $cate_id],
                 ];
     }

     if(input('searchkey')){
        $where[] = [
                     ['title', 'like', '%'.$searchkey.'%'],
                 ];
     }
     $archivesData=Db::name('archives')->alias('a')->
            field('a.id,a.title,a.listorder,b.cate_name,a.time')->
            join('category b','a.cate_id=b.id')->
            where($where)->
            order('a.listorder asc')->//小到大
            order('a.id DESC')->//大-》小
            paginate([
              'list_rows'=> 3,//每页数量
              'query' => request()->param(),
              ]);

이렇게 하면 "ThinkPHP6 페이징 검색 조건" 문제가 완벽하게 해결되었습니다. 실제로 문제가 발생하면 두려워하지 말고 먼저 매뉴얼을 주의 깊게 읽어 봅시다. 어쩌면 우리가 직면한 문제를 해결할 수 있을지도 모릅니다.

【관련 추천】

1. 【마른 정보】ThinkPHP6는 WeChat에 연결하고 QR 코드를 스캔하여 로그인합니다

2. 공장 모드를 사용하여 Thinkphp6.0을 구현하여 Alibaba Cloud SMS에 연결합니다

위 내용은 검색 조건을 갖춘 ThinkPHP6 페이징 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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