Recherche [MySQL]

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 25 avril 2006 à 16:49
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 25 avril 2006 à 17:54
Bonjour, je n'arrive pas a trouver le moyen de recherche dans ma base de données selon : Par exemple
Dans ma base de données, j'ai :
id | nom

1 | chat noir

Je voudrais faire une requete qui me permet si je recherche "chat noir" ou encore "noir chat" d'afficher ce champs.
Mais également, si je tape "chat" ou "noir", mais au niveau de la pertinence, la requete précédente sera afficher en premier !

J'espère mettre fait comprendre.
Merci de votre aide

1 réponse

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
25 avril 2006 à 17:54
J'ai trouvé qu'il fallait plutot utiliser MATCH !

Code :

mysql_query("SELECT *, MATCH (nom,email,telephone,portable) AGAINST ('$search' IN BOOLEAN MODE) AS cpt FROM contact WHERE MATCH (nom,email,telephone,portable) AGAINST ('$search' IN BOOLEAN MODE) ORDER BY cpt DESC");


J'ai par exemple dans email :
test@yahoo.fr
adressetest@yahoo.fr

La requête fonctionne presque sauf que si je recherche test@yahoo.fr, la requete me retourne les deux !

Auriez vous une idée !
0
Rejoignez-nous