Heim  >  Artikel  >  Backend-Entwicklung  >  So erzielen Sie einen Sucheffekt in PHP

So erzielen Sie einen Sucheffekt in PHP

藏色散人
藏色散人Original
2021-12-13 10:51:584132Durchsuche

So erzielen Sie einen Sucheffekt in PHP: 1. Initialisieren Sie die Abfragebedingungen. 2. Rufen Sie die Abfragemethode auf. 3. Berechnen Sie die Anzahl der auf der Seite angezeigten Datenelemente Suchmethode „geschützte Funktion _search(){. ..}“.

So erzielen Sie einen Sucheffekt in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.4, Dell G3-Computer.

Wie erzielt man einen Sucheffekt in PHP?

PHP-Suchabfragefunktionsimplementierung:

Ich bin heute auf ein Problem gestoßen: Bei der Ausführung der Funktion „Suchen“ kann die Abfrage nach Eingabe der Abfragebedingungen nicht ausgefü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 können angezeigt werden in der Homepage-Liste.

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 Anzeigeliste der Startseite 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():

wie:

protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%' 
);
}
return $map;
}

Schließlich im Menü „Suchen“ des Einstellungen, rufen Sie diese Suchmethode auf.

Wenn ich das 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 anbringen 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 im blauen Bereich unten hinzugefügt und bin jedes Mal 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();
}

Lernempfehlung: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo erzielen Sie einen Sucheffekt in PHP. 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