Mysql / Chercher plusieurs mots dans un champ

Arkolos -  
Arkolos Messages postés 13 Statut Membre -
Bonjour,
je programme en php et j'utilise Mysql. J'ai une table de question avec une colonne où je met mes mots clés, séparés par des espaces. Par exemple : "motcle motcle2 azerty".

je voudrais, avec une requette, trouver quelles lignes de ma table possèdent TOUS les mots clés recherchés

Je peux faire un "SELECT * FROM questions WHERE motscle LIKE '%mot1%' AND motscle LIKE '%mot1%'", mais c'est peu facile à générer dynamiquement.

Y'a-t-il un moyent plus simple ?

Merci de me répondre
A voir également:

2 réponses

petittrain Messages postés 61 Statut Membre 2
 
bonsoir,

tu pourrais essayer un bout de code php.

<?php
//tu rentre ta liste de mots de passe souhaite séparer par des espaces
//tu rentre le nombre de mots dans taliste (désolé je ne connais pas le manière de le recupéré auto)
$tableau_mots = split(" ",trim($ligne));
$nbmots=10;
for($i=0$i<$nbmots,$i++){
$pre=$tableau_mots[$i];
echo "WHERE motscle LIKE ".$pre
}?>
c'est dans le cas ou tu l'appel depuis un fichier html pour le cas d'un appel en fichier sql.
il faut utiliser la fonction fwrite(......) mais il faut avoir installé un server sur ton ordi. tu peut utiliser MS4W qui est très facile d'installation (dezippage du fichier directement sur la racine C de ton pc) et après écrot ta requete php et lance le fichier sql obtenu à partir de ce programme

A+
0
Arkolos Messages postés 13 Statut Membre 7
 
Ce code fonctionne, mais il alourdit la requette SQL. N'y a-t-il pas de méthode plus simple ?

Cordialement,
0