In diesem Artikel wird hauptsächlich der Implementierungscode der PHP-Suchabfragefunktion vorgestellt. Er ist sehr gut und hat Referenzwert.
Ich bin heute auf ein Problem gestoßen: Bei der Durchführung der „Suche“. "Funktion, die Abfrage kann nach Eingabe der Abfragebedingungen nicht durchgeführt werden.
Was ich tue, ist, den Inhalt im Datentabellenpaket auf der Homepage anzuzeigen, aber es gibt eine Bedingung: Der auf der Homepage angezeigte Inhalt muss auch sein: Feldstatus=0 und Daten mit Druck=0 kann in der Homepage-Liste angezeigt werden.
Auf der Seite gibt es eine „Such“-Funktion. Nach Eingabe der Bedingungen wird die Abfrage anhand der Bedingungen durchgeführt.
Für die allgemeine Suche geben Sie einfach eine Methode index() in der Startseiten-Anzeigeliste ein:
$map=array();//初始化查询条件 $map=$this->_search();//调用查询方法 $total = $this->Model->where ($map)->count(); //这个主要是用来计算页面显示数据条数的 if ($total == 0) { $_list = ''; } else { $_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select(); }
Dann schreiben Sie einfach eine _search() :
Zum Beispiel:
protected function _search(){ $map = array (); $post_data = I ( 'post.' ); if ($post_data ['packageid'] != '') { $map ['packageid'] = array ( 'like', '%' . $post_data ['packageid'] . '%' ); } return $map; }
Zum Schluss rufen Sie diese Suchmethode im Menü „Suchen“ der Einstellungen auf.
Wenn ich dies jedoch mache, muss ich bei der Suche auch darauf achten, in den Daten mit Feldstatus=0 und Druck=0 zu suchen.
Ich habe darüber nachgedacht, wo ich diese Einschränkung hinzufügen soll. Nach verschiedenen Versuchen und Nachfragen habe ich es herausgefunden. Fügen Sie die Einschränkungsbedingungen einfach direkt zur SQL-Anweisung hinzu (wie unten rot dargestellt). (Als ich es selbst ausprobiert habe, habe ich immer wieder Bedingungen in den blauen Bereichen unten hinzugefügt und bin immer wieder gescheitert!)
$map=array(); $map=$this->_search(); $total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count(); if ($total == 0) { $_list = ''; } else { $_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select(); }
Das Obige ist der gesamte Inhalt von Ich hoffe, dass dieser Artikel für mich nützlich sein wird.
Verwandte Empfehlungen:
Wie man Anhängen und Zeilenumbruch in file_put_contents in PHP implementiert
php PDO implementiert die Methode zur Beurteilung, ob die Verbindung verfügbar ist
PHP-Methode zum Sortieren eines zweidimensionalen assoziativen Arrays nach einem von die Felder
Das obige ist der detaillierte Inhalt vonImplementierung der PHP-Suchabfragefunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!