par
Ryle » 18 déc. 2010, 21:51
Un champ de type texte ne peut être trié que par ordre alphabétique, c'est à dire que les chaines sont comparées caractère par caractères pour être ordonné. De ce fait, 1, 11 et 153 seront affichées avant 2, 20 et 210.
Pour que ton tri soit cohérent, il te faut soit préfixer tes nombres avec suffisamment de zéro pour que les chaines puissent s'ordonner : "0001", "0002", "0011", "0020" ...
Ou autrement, tu peux utiliser une colonne de type numérique (donc pas de type varchar) qui contiendra juste le numéro de la référence (ou juste une clé de tri) sur laquelle tu pourras faire ton tri comme tu le souhaites

Un champ de type texte ne peut être trié que par ordre alphabétique, c'est à dire que les chaines sont comparées caractère par caractères pour être ordonné. De ce fait, 1, 11 et 153 seront affichées avant 2, 20 et 210.
Pour que ton tri soit cohérent, il te faut soit préfixer tes nombres avec suffisamment de zéro pour que les chaines puissent s'ordonner : "0001", "0002", "0011", "0020" ...
Ou autrement, tu peux utiliser une colonne de type numérique (donc pas de type varchar) qui contiendra juste le numéro de la référence (ou juste une clé de tri) sur laquelle tu pourras faire ton tri comme tu le souhaites :)