par
Dimitri69 » 18 avr. 2013, 12:48
Bonjour,
Tout aurait été bien plus simple si tu avais une colonne "nom" (rempart, reposoir, ...) et une autre "prefixe_nom" (par exemple, avec La salle du, etc.) ou une colonne de type BOOL qui indique s'il s'agit d'une salle, ou encore une saisie dans la colonne nom du type "rempart (salle du)"... Peut-être peux-tu faire une moulinette pour organiser tes données différemment et ainsi optimiser tes recherches ?
Parce que le souci, avec ta requête, c'est que si une erreur de saisie fait qu'il manque un espace dans le nom, tu n'auras pas le résultat attendu car tu enlèves toujours le même nombre de caractères pour trouver le nom "utile".
Sinon, pour diviser en 3 ta liste de noms, un simple foreach() sur ta liste de noms, avec à chaque itération une vérification de la première lettre du nom (substr et in_array avec 3 tableaux contenant les lettres à regrouper) devrait le faire. Ou alors récupérer le code ASCII de la première lettre du nom à chaque itération pour savoir à quelle intervalle (A-H, I-P et Q-Z). Car les codes suivent l'alphabet.
Bonjour,
Tout aurait été bien plus simple si tu avais une colonne "nom" (rempart, reposoir, ...) et une autre "prefixe_nom" (par exemple, avec La salle du, etc.) ou une colonne de type BOOL qui indique s'il s'agit d'une salle, ou encore une saisie dans la colonne nom du type "rempart (salle du)"... Peut-être peux-tu faire une moulinette pour organiser tes données différemment et ainsi optimiser tes recherches ?
Parce que le souci, avec ta requête, c'est que si une erreur de saisie fait qu'il manque un espace dans le nom, tu n'auras pas le résultat attendu car tu enlèves toujours le même nombre de caractères pour trouver le nom "utile".
Sinon, pour diviser en 3 ta liste de noms, un simple foreach() sur ta liste de noms, avec à chaque itération une vérification de la première lettre du nom (substr et in_array avec 3 tableaux contenant les lettres à regrouper) devrait le faire. Ou alors récupérer le code ASCII de la première lettre du nom à chaque itération pour savoir à quelle intervalle (A-H, I-P et Q-Z). Car les codes suivent l'alphabet.