ホームページ > PHPフレームワーク > ThinkPHP > 検索条件を備えた ThinkPHP6 ページング ソリューション

検索条件を備えた ThinkPHP6 ページング ソリューション

王雪芹
リリース: 2020-05-04 09:43:08
オリジナル
2717 人が閲覧しました

ThinkPHP6 では、ページングの実装も難しくありませんし、検索の実装も難しくありませんが、多くの人が検索条件を使った検索につまづきます。同じ状況で tp5 コードを移動したところ、動作しなかったので、ThinkPHP6 で検索条件付きのページングを解決するにはどうすればよいでしょうか?

具体的なシナリオを見てみましょう。キーワードを検索し、カテゴリを選択して記事を検索およびフィルタリングしました。

#1. 問題を見つける

まず、検索条件が指定された最初のページを見てみましょう:

検索条件を備えた ThinkPHP6 ページング ソリューション

次に、2 ページ目を見てみましょう。

検索条件を備えた ThinkPHP6 ページング ソリューション

注意している人は、2 ページ目と 3 ページ目に URL がないことに気づくでしょう。 . 検索条件あり。

2. 解決方法:

問題の鍵が見つかったので、どうやって解決しますか?まずは公式 Web サイトのマニュアルにアクセスして探しましょう:

検索条件を備えた 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 スキャン コード

2.ファクトリモードを使用して Alibaba Cloud SMS

への Thinkphp6.0 アクセスを実装する

以上が検索条件を備えた ThinkPHP6 ページング ソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート