[1/2HS] Interrogations MySQL
Bonjour,
Désolé de cette question pas 100% Debian,
mais MySQL tourne sous Debian Jessie :-)
$brief est une variable correspondant à un mot clé
qui ne peut contenir que 3 infos maxi séparées par un espace.
On va supposer que le mot clé = "paris"
SELECT DISTINCT email, prenom, famille, ville FROM table
WHERE MATCH (email, prenom, famille, ville)
AGAINST ('+$brief[0] +$brief[1] +$brief[2]' IN BOOLEAN MODE)
et la base affiche toutes les personnes qui ont une info liée à Paris.
Mais si le mot clé =" par"
la base ne m'affiche aucun résultat.
Elle ne va matcher que les infos qui contiennent * exactement * "par"
J'ai tenté cette méthode (ajouter un "%" de part et d'autres de la variable) :
AGAINST ('+%$brief[0]% +%$brief[1]% +%$brief[2]%' IN BOOLEAN MODE)
ça ne fonctionne pas.
Dommage, car c'est utile lorsque on est pas sûr de l'orthographe d'un champ,
et que l'on a retenu que ses x premières lettres.
Il y a cette méthode mais trop basique car elle ne permet pas des recherches
sur mots clés multiples :
SELECT DISTINCT email, prenom, famille, ville FROM table
WHERE email LIKE '%$brief%' OR ville LIKE '%$brief%' ...
Ma question : comment le faire avec : ... WHERE MATCH ... AGAINST
Merci.
André
Reply to: