[MySQL] Trier un résultat par ordre croissant ?

Eléphanteau du PHP | 21 Messages

23 juin 2005, 16:58

Salut,

Je posséde un site où les membres recoivent des points lorsqu'ils ajoutent des photos et articles au site. Je veux via un script PHP et une requete SQL que les membres soent affichés sur une page avec en haut celui qui posséde le plus de points et en bas celui qui en posséde le moins. Donc par ordre décroissant.

Donc voilà ma requete:
SELECT * FROM `membres` ORDER BY `fiche_points` ASC LIMIT 0 , 30
Le probléme c'est que MySQL ne comprends pas exactement ce que je veux faire car lorsque je fais celà MySQL me retourne que: 7 > 4 > 33 > 3 > 2 > 121 > 0

Voilà donc le probléme :(
Si qqn à l'astuce ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 juin 2005, 17:00

A 1ere vue, ton champ n'est pas de type int ou assimilé et il trie donc selon le 1er caractère, puis le 2nd, ...

essaye cette requete :

Code : Tout sélectionner

SELECT * FROM `membres` ORDER BY CAST(`fiche_points` AS UNSIGNED) LIMIT 0 , 30
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 21 Messages

23 juin 2005, 17:04

Trop sympas, merci pour l'astuce ;)

Sa marche mais j'ai un autre petit probléme c'est que sa me donne les résultats par ordre croissant et non par ordre décroissant, je ne connais pas trop la syntaxe MySQL

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 juin 2005, 17:06

C'est dommage car tu y était presque ASC veut dire ascendant, donc du plus petit au plus grand alors que DESC veut dire du plus grand au plus petit, sachant que si tu ne met rien, ASC est par défaut

Code : Tout sélectionner

SELECT * FROM `membres` ORDER BY CAST(`fiche_points` AS UNSIGNED) DESC LIMIT 0 , 30
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 21 Messages

23 juin 2005, 17:08

Ouep c'est vrai j'ai pas réfléchi

Merci c'est génial d'avoir des gens comme sa, on reconnais bien l'esprit PHP moi qui voulais faire de l'ASP (oups j'ai dit un gros mot)

Meeeeeerrrrrrrrkkkkkkkkkiiiiiiiiiiii !!!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 juin 2005, 17:10

Mais de rien

En esperant t'avoir converti au PHP :wink:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 21 Messages

23 juin 2005, 17:23

Oh mais t'inquiette le PHP sa fais deux ans que je suis converti, c'est juste que avec MySQL je fais toujours des requetes assez simple, c'est la premiere fois que je rencontre ce probléme

Merki pour ta précieuse aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 juin 2005, 17:25

Si tu appelle cette requete compliquée, attend de passer au jointure et autres sélection bizarre :lol:

mais sans vouloir te décourager
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer