Maison > base de données > tutoriel mysql > le corps du texte

Comment combiner plusieurs recherches de tables en PHP avec MySQL et un mot-clé ?

Linda Hamilton
Libérer: 2024-11-12 12:11:02
original
934 Les gens l'ont consulté

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

Combiner plusieurs recherches de tables en PHP avec MySQL et un mot-clé

Vous disposez d'une base de données avec trois tables : messages, sujets et commentaires. Chaque table contient deux champs, « contenu » et « titre ». Votre objectif est d'effectuer une requête de recherche unique qui recherche dans les six champs (messages.content, messages.title, topic.content, topic.title, comments.content, comments.title) à l'aide d'un mot-clé spécifié.

Pour ce faire, modifiez votre requête pour utiliser plusieurs instructions UNION. Chaque instruction UNION recherchera dans une table spécifique à l'aide de l'opérateur LIKE le mot-clé dans les champs « contenu » et « titre ». La requête mise à jour suivante combine les trois recherches :

$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);
Copier après la connexion

Cette requête utilise l'opérateur UNION pour combiner les résultats de chaque instruction SELECT en un seul jeu de résultats. Le champ « type » ajouté indique de quelle table provient la ligne.

"msg" = messages table
"topic" = topics table
"comment" = comments table
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal