Heim >PHP-Framework >Denken Sie an PHP >ThinkPHP6-Paging-Lösung mit Suchbedingungen

ThinkPHP6-Paging-Lösung mit Suchbedingungen

王雪芹
王雪芹Original
2020-05-02 17:17:522726Durchsuche

In ThinkPHP6 ist es nicht schwierig, Paging zu implementieren, und es ist nicht schwierig, eine Suche zu implementieren, aber die Suche mit Suchbedingungen verwirrt viele Menschen. In der gleichen Situation haben wir den tp5-Code verschoben und festgestellt, dass er nicht funktioniert. Wie kann man also das Paging mit Suchbedingungen in ThinkPHP6 lösen?

Sehen wir uns das konkrete Szenario an, in dem ich nach einem Schlüsselwort gesucht und eine Kategorie zum Suchen und Filtern von Artikeln ausgewählt habe.

1. Finden Sie das Problem

Werfen wir zunächst einen Blick auf die erste Seite mit den Suchbedingungen:

ThinkPHP6-Paging-Lösung mit Suchbedingungen

Dann schauen wir uns die zweite Seite an:

ThinkPHP6-Paging-Lösung mit Suchbedingungen

Aufmerksame Freunde werden feststellen, dass es auf der zweiten und dritten Seite keine URL mit Suchkriterien gibt .

2. Wie man es löst:

Der Schlüssel zum Problem wurde gefunden, wie kann man es also lösen? Gehen wir zunächst zum offiziellen Website-Handbuch und suchen danach:

ThinkPHP6-Paging-Lösung mit Suchbedingungen

Im Handbuch gibt es ein Abfrageelement, das für die Übergabe zusätzlicher Parameter in der URL verantwortlich ist wird leicht zu handhaben sein.

Sehen Sie sich den Code direkt an:

$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(),
              ]);

Auf diese Weise haben wir das Problem „ThinkPHP6-Paging mit Suchbedingungen“ perfekt gelöst. Haben Sie tatsächlich keine Angst, wenn Sie auf Probleme stoßen Schauen wir uns zunächst das Handbuch genauer an. Vielleicht kann es die Probleme lösen, auf die wir stoßen.

[Verwandte Empfehlungen]

1 2. Verwendung des Werksmodus zur Implementierung des Thinkphp6.0-Zugriffs auf Alibaba Cloud SMS

Das obige ist der detaillierte Inhalt vonThinkPHP6-Paging-Lösung mit Suchbedingungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn