Mysql / Chercher plusieurs mots dans un champ

Fermé
Arkolos - 26 févr. 2009 à 21:22
Arkolos Messages postés 9 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 mars 2009 - 27 févr. 2009 à 18:33
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

2 réponses

petittrain Messages postés 50 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 4 juin 2010 2
26 févr. 2009 à 22:09
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 9 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 mars 2009 7
27 févr. 2009 à 18:33
Ce code fonctionne, mais il alourdit la requette SQL. N'y a-t-il pas de méthode plus simple ?

Cordialement,
0