Heim > php教程 > php手册 > PHP-Suchfunktion (Abfrage).

PHP-Suchfunktion (Abfrage).

WBOY
Freigeben: 2016-11-30 23:59:32
Original
1453 Leute haben es durchsucht

Ich bin heute auf ein Problem gestoßen: Bei Verwendung der Funktion „Suchen“ kann die Abfrage 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 können sein in der Startseitenliste angezeigt.

Auf der Seite gibt es eine „Suchen“-Funktion. Nach Eingabe der Bedingungen wird die Abfrage anhand der Bedingungen durchgeführt.

Für die allgemeine Suche geben Sie einfach eine Methode index() auf der Homepage-Anzeigeliste ein:

$map=array();//Abfragebedingungen initialisieren

$map=$this->_search();//Rufen Sie die Abfragemethode auf

$total = $this->Model->where ($map)->count(); //Dies wird hauptsächlich zur Berechnung der Anzahl der auf der Seite angezeigten Datenelemente verwendet

if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)-> limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}

Dann schreiben Sie einfach ein _search():

Zum Beispiel:

geschützte Funktion _search(){

$map = array ();
$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid '] . '%'
);
}

$map zurückgeben;

}

Zuletzt rufen Sie diese Suchmethode im Einstellungsmenü „Suchen“ 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 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();
}

Ich möchte es gerne mit Ihnen teilen.

Anfänger lernen, bitte geben Sie uns Ihre Kommentare und Ratschläge.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage