首頁 >php框架 >ThinkPHP >ThinkPHP6有搜尋條件的分頁解決方案

ThinkPHP6有搜尋條件的分頁解決方案

王雪芹
王雪芹原創
2020-05-02 17:17:522721瀏覽

在ThinkPHP6中,實現分頁不難,實現搜尋也不難,但是有搜尋條件的搜尋卻難倒很多人。同樣的情況下,我們把tp5的程式碼搬過來,發現並不好使,那麼ThinkPHP6帶搜尋條件的分頁該如何解決呢?

我們看下具體情景,我搜尋了一個關鍵字,並且選擇了分類進行文章的搜尋篩選。

一、找出問題

首先我們先看下搜尋條件的第一頁:

ThinkPHP6有搜尋條件的分頁解決方案

ThinkPHP6有搜尋條件的分頁解決方案


然後我們再看下第二頁:

ThinkPHP6有搜尋條件的分頁解決方案

仔細的小夥伴會發現,在第二頁、第三頁的時候URL中沒有附搜尋條件。

二、如何解決:


#問題關鍵已經找到了,那麼要如何解決呢?我們先去官網手冊找一找:

在手冊中,有個query 的項是負責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對接微型訊號碼登入#########2. ###使用工廠模式實作Thinkphp6.0接入阿里雲簡訊##########

以上是ThinkPHP6有搜尋條件的分頁解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn