Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kombiniere ich mehrere Tabellensuchen in PHP mit MySQL und einem Schlüsselwort?

Linda Hamilton
Freigeben: 2024-11-12 12:11:02
Original
900 Leute haben es durchsucht

How to Combine Multiple Table Searches in PHP with MySQL and a Keyword?

Kombinieren mehrerer Tabellensuchen in PHP mit MySQL und einem Schlüsselwort

Sie haben eine Datenbank mit drei Tabellen: Nachrichten, Themen und Kommentare. Jede Tabelle enthält zwei Felder, „Inhalt“ und „Titel“. Ihr Ziel besteht darin, eine einzelne Suchabfrage durchzuführen, die alle sechs Felder (messages.content, messages.title, topic.content, topic.title, comments.content, comments.title) mit einem bestimmten Schlüsselwort durchsucht.

Um dies zu erreichen, ändern Sie Ihre Abfrage so, dass sie mehrere UNION-Anweisungen verwendet. Jede UNION-Anweisung durchsucht eine bestimmte Tabelle mit dem LIKE-Operator nach dem Schlüsselwort in den Feldern „Inhalt“ und „Titel“. Die folgende aktualisierte Abfrage kombiniert alle drei Suchvorgänge:

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);
Nach dem Login kopieren

Diese Abfrage verwendet den UNION-Operator, um die Ergebnisse jeder SELECT-Anweisung in einem einzigen Ergebnissatz zu kombinieren. Das hinzugefügte Feld „Typ“ gibt an, aus welcher Tabelle die Zeile stammt.

"msg" = messages table
"topic" = topics table
"comment" = comments table
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kombiniere ich mehrere Tabellensuchen in PHP mit MySQL und einem Schlüsselwort?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage