在thinkphp6中,實現分頁不難,實現搜索也不難,但是帶搜索條件的搜索卻難倒很多人。同樣的情況下,我們把tp5的代碼搬過來,發現并不好使,那么ThinkPHP6帶搜索條件的分頁應該如何解決呢?
我們看下具體情景,我搜索了一個關鍵字,并且選擇了分類進行文章的搜索篩選。
一、查找問題
首先我們先看下帶搜索條件的第一頁:
然后我們再看下第二頁:
立即學習“PHP免費學習筆記(深入)”;
仔細的小伙伴會發現,在第二頁、第三頁的時候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帶搜索條件的分頁“這個問題完美解決了,其實遇到問題不要怕,我們先仔細看看手冊,說不定就能解決我們遇到的難題。
【相關推薦】
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END