Spidetra Posté 26 Mai 2006 Posté 26 Mai 2006 (modifié) mon champ mot contient plusieurs mots comme je ne veux afficher que le mot recherché le code suivant me retourne tout le contenu de chaque champ contenant ABC, une idée, on est toujours dans des requetes mysql ou l'on doit passer par php. Pour en revenir à ta dernière question : Tu vas effectivement être obligé de récupérer la totalité de ton champ et faire un traitement en Php. Je suppose que tu as un séparateur de mot et que tu pourras faire un split dessus. Comme tu as plusieurs mots dans ton champ la syntaxe : LIKE 'ABC%' ne marche plus. Tu seras obligé d'utiliser : LIKE '%ABC%' Donc : - tu ne détecte plus les mots qui commencent par ABC, mais les mots qui contiennent ABC - Si tu as indexer ton champ, l'index ne sera pas utilisé avec la 2° syntaxe => perte de performance Une structure possible aurait été : - une table dictionnaire : IDMot, Mot ( unique, fulltext ). Un seul mot par ligne - une table user : IDUser, userName - une table mot2user : IDMot, IDUser Modifié 26 Mai 2006 par Spidetra
petit-ourson Posté 26 Mai 2006 Posté 26 Mai 2006 (modifié) si j'ai bien compris, va falloir aussi que tu changes ta requête SQL : $select = "SELECT DISTINCT mot FROM TB_mots WHERE mot LIKE '%ABC%' "; Modifié 26 Mai 2006 par petit-ourson
Lentreprenaute Posté 27 Mai 2006 Auteur Posté 27 Mai 2006 ta rquete va me trouver tout ce qui contient ABC et non ce qui commence par ABC? moi je veux lister tout les mots commencant par a, puis b etc... Si dans mon champ mot, j'ai : ABCXX XXABC XABCX etc... en tout cas merci de ton active participation. Florent
petit-ourson Posté 27 Mai 2006 Posté 27 Mai 2006 $select = "SELECT DISTINCT mot FROM TB_mots WHERE mot LIKE 'ABC%' OR mot LIKE ' ABC%'"; Après tu fais le reste en php pour simplifier les choses
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant