Recherche par mot clé, phrases scindées [Résolu]

Signaler
Messages postés
14
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009
-
Messages postés
14
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009
-
Bonjour à tous, je vous expose mon problème, voici la requête en question :






Code :

$sql="SELECT * FROM annonces WHERE MATCH(city,title,annonce) AGAINST ("$_GET[keyword]" IN BOOLEAN MODE)";



A l'aide de cette requête, j'effectue une recherche sur une table
de ma base de données, lorsque je tape un seul mot clé tout fonctionne
bien, cependant dès lors ou je tape par exemple : piano de concert,
alors me sont renvoyés les résultats associés à "piano" + ceux associés
à "de" + ceux associés à "concert", alors que je ne voudrais que le
résultat associé à "piano de concert", en gros je voudrais recevoir
seulement les endroits ou apparaissent à la fois ces 3 mots.


Merci davance.

3 réponses

Messages postés
63
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
16 mai 2009

Essaye comme cela

$keyword=str_replace(' ','+',$_GET[keyword]);
$sql="SELECT * FROM annonces WHERE MATCH(city,title,annonce) AGAINST ("$keyword" IN BOOLEAN MODE)";










Lefter 
Messages postés
14
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009

Merci lefter d'avoir répondu mais le problème persiste avec le code que tu m'as fourni.
Messages postés
14
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009

Voici la solution tout à fait fonctionnelle que l'on m'a proposé (il s'agissait de de changer la syntaxe '"$variable"':
 
SELECT * FROM annonces WHERE MATCH(city,title,annonce) AGAINST ('"piano de concert"'INBOOLEAN MODE)