Aller au contenu

requete de recherche sur deux tables


Sujets conseillés

Posté

Salut,

J'ai créé un formulaire de recherche pour mon site, mais le problème c'est que la recherche des mot-clés se fait seulement dans les titres des articles seulement.

dans ma table news, j'ai un champs "title" et un champs "content" .

j'ai éssayé ceci

$query = "select * from news where content  like \"%$trimmed%\ OR title like \"%$trimmed%\"

mais ça n'a pas marché. SVP dites moi comment puis-je lancer une requete qui cherche un mot dans deux tables en même temps, de façon que la recherche se fasse sur la table title et content en même temps.

Merci :flower:

Posté

Bonjour,

La syntaxe sql est correcte.

Mais il y a un petit soucis dans la gestion de tes guillemets. Je mettrais plutôt :

$query = "select * from news where content  like \"%$trimmed%\" OR title like \"%$trimmed%\"";

ou (plus lisible) :

$query = "select * from news where content  like '%" . $trimmed . "%' OR title like '%" . $trimmed . "%'";

Si ça ne marche toujours pas, donne nous un exemple du contenu de ta table et de la variable $trimmed.

M

Posté

On peut éviter la concaténation ou les antislashes, en utilisant des guillemets simples dans la requête :

$query = "select * from news where content  like '%$trimmed%' OR title like '%$trimmed%'"

Le meilleur moyen de vérifier que la requête est correcte, reste de l'afficher, et de la copier/coller dans PHPMyAdmin.

Posté
SVP dites moi comment puis-je lancer une requete qui cherche un mot dans deux tables en même temps, de façon que la recherche se fasse sur la table title et content en même temps.
j'ai pas tout compris : title et content sont des tables ou des champs ?
Posté

voila, maintenant ça marche à merveille!

merci beaucoup Marcb :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...