Page 1 sur 1

changer la facon de trier à mysql

Posté : 13 juin 2007, 11:48
par zmove
Bonjour à tous,

J'ai une liste de produits que j'aimerais trier comme ci-dessous, c'est à dire par nom croissant et par 'conditionnements' croissants.

mon produit - 1g
mon produit - 5g
mon produit - 10g
mon produit - 25g



Le problème c'est que quand je fais un tri par nom avec mySQL il me retourne la liste dans l'ordre suivant :

mon produit - 10g
mon produit - 1g
mon produit - 25g
mon produit - 5g

Ce qui d'un point de vue mysql semble logique, il trie les chiffres 1 par 1 un peu comme trierai un dictionnaire.

Y a t'il un moyen de paramétrer une base de donnée pour qu'il comprennent les chiffres dans leur intégralités et qu'ainsi, il me trie mes produits dans l'ordre que je souhaite ? (je ne peux pas faire des bidouilles du style mettre des 0 devant les chiffres sans dizaines etc...)

Posté : 13 juin 2007, 11:54
par Genova
Je vois deux solutions :
1) Faire en sorte que ton champ soit plutôt de type INT au lieu de VARCHAR
2) Trier tes résultats via PHP, avec la fonction usort()