-
Tri par prix
Bonjour,
J'arrive sans problème à classer des résultats par non mais dès lors qu'il s'agit de chiffre il classe que par le premier.
C'est à dire que pour des prix, par exemple, lorsque j'essai d'afficher par "desc", il m'affiche 7 , 6, 5000, 5, 4, 3, 2, 10500, 1 etc...
Je ne vois pas comment faire, une idée?
-
Si tu veux qu'il fasse un tri sur des nombres il faut que le format dans lequel tu stockes la données soit numérique.
Typiquement l'énoncé de ton problème survient quand on stocke des nombres dans des VARCHAR.
Il teste les caractères un à un, et "6" est plus grand que "50".
-
Ok et comment faut il faire pour qu'il soit stocké numériquement?
J'ai jamais entendu cela :aie:
-
:koi: les déclarer en type INT dans ta BDD par exemple.
Je t'invite à regarder quelques tutos sur mysql (ou sur le SGBD correspondant) si tu n'as jamais entendu parler des types de données.
A moins que ma réponse soit à coté de la plaque suite à une mauvaise compréhension de la question, auquel cas il va falloir etre (beaucoup ?) plus précis ;)
-
Oui c'est vrai, je n'avais pas fais gaffe au VARCHAR dans ma table, j'ai remplacé le tout par
Code:
`prix` float(13,2) NOT NULL default '0.00',
Le seul truc qui me dérange un peu, c'est qu'il rajoute les centimes....c'est chiant
Qu'en penses-tu?
-
tu as des types entiers si tu préfères. Tout dépend de ton besoin
-
Merci pour votre aide...
J'ai placé le prix en
Code:
`prix` int(6) NOT NULL default '0',
dans la bdd. ;)