Liste d'enregistrement de A à H, de I à P et Q à Z

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Liste d'enregistrement de A à H, de I à P et Q à Z

Re: Liste d'enregistrement de A à H, de I à P et Q à Z

par ctzwayna » 18 avr. 2013, 14:16

Bjr,

tu peux faire ça avec les moyen du bord genre

"SELECT title FROM syair_kdata WHERE SUBSTR(title, 9,1) <I ORDER BY title ASC" // selectionne la 9e lettre inférieur à I (i maj) donc les nom des salles de A à H

"SELECT title FROM syair_kdata WHERE SUBSTR(title, 9,1) >I and SUBSTR(title, 9,1) < q ORDER BY title ASC" //nom des salles de I à P

"SELECT title FROM syair_kdata WHERE SUBSTR(title, 9,1) >p ORDER BY title ASC" //nom des salles de Q à Z

Re: Liste d'enregistrement de A à H, de I à P et Q à Z

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.

Liste d'enregistrement de A à H, de I à P et Q à Z

par greglebelge » 15 avr. 2013, 16:29

Bonjour,
J'ai un problème de liste d'enregistrements.
Voilà mon exposé:
J'ai une table contenant des enregistrements.
Dans cette table seul le champs "title" m’intéresse.
Le contenu de ces champs sont du style:

- La salle du rempart
- La salle du reposoir
- La salle du haut Bakin
- La salle du livago
Etc....

Je souhaiterai lister les résultats par ordre alphabétique en 3 pages (une avec A-H, I-P, Q-Z). Ordre alphabétique établi sur base du nom de la salle (rempart, reposoir, haut bakin,....).
Autrement dis ne pas tenir compte du "La salle du" de mes enregistrements pour lister le resultat.

Je ne sais pas si une requete SQL est possible ou si je dois combiner SQL et PHP....je patauge..

Pour l'instant, je teste avec
cette requete
SELECT SUBSTR(title, 9) AS colonne_sans FROM syair_kdata ORDER BY title ASC"

Ca me donne uen liste de A à Z avec juste le nom....
mais maintenant je coince.
Merci de vos lumières.