Recherche par mot clé, phrases scindées

Résolu
cs_bilel59 Messages postés 14 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 avril 2009 - 24 avril 2009 à 09:21
cs_bilel59 Messages postés 14 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 avril 2009 - 25 avril 2009 à 09:54
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

lefter Messages postés 63 Date d'inscription lundi 7 juin 2004 Statut Membre Dernière intervention 16 mai 2009
24 avril 2009 à 10:11
Essaye comme cela

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










Lefter 
cs_bilel59 Messages postés 14 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 avril 2009
24 avril 2009 à 10:38
Merci lefter d'avoir répondu mais le problème persiste avec le code que tu m'as fourni.
cs_bilel59 Messages postés 14 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 avril 2009
25 avril 2009 à 09:54
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)
Rejoignez-nous