Bonjour,
QUelqu'un sait il si il est possible de trier un resultat de MySQL selon un ordre costomisé?
Merci!
Version imprimable
Bonjour,
QUelqu'un sait il si il est possible de trier un resultat de MySQL selon un ordre costomisé?
Merci!
Salut,
C'est à dire? Tu parles d'un ordre alphabétique par exemple? Alors avec ORDER BY. Sinon précises un peu la question...
Le cours et la FAQ sont assez complète à ce sujet:
ftp://ftp2.developpez.be/developps/php/mysql.pdf p.60
Justement, c est un tri non alphabetique : par exemple, j'ai differents etats pour mes fiches, et je veux pouvoir recuperer d'abord les fiches initiées, puis les fiches en cours eet enfin les fiches soldées, ce qui n'est pas l'ordre alphabetique.
Si cet état est dans une colonne de ta table, tu peux associer chaque état [initie, encours, solde] à un nombre [1,2,3] puis en utilisant ORDER BY nombre ASC dans ta requête, tu auras tes lignes triées.
J'y est pensé aussi, masi le probleme, c'est que je n'ai pas le droit d'ajouter ce champs, decision du superieur...lol
Tu devrais vraiment aller voir le cours de MySQL. Il est complet et très simple. Tu auras tes réponses bien plus rapidement que en postant sur le forum, sauf si tu ne trouves vraiment pas bien sûr... :roll:
Lol merci de ton aide! Il me semble que ca n'est pas possible de le faire directement, mais je toruverais un moyen de faire ce tri avec mon code php.. ENcore merci et bonne journée!
Est-ce que ton boss te laisse créer une table à côté ? parce que dans ce cas tu crées la table suivante :
Etat Ordre
----------
initie 1
encours 2
solde 3
et tu n'as plus qu'à faire une jointure pour trier sur Ordre.
Sinon, dernière possibilité :
Code:
1
2
3
4 SELECT * FROM ta_table ORDER BY CASE Etat WHEN 'initie' THEN 1 WHEN 'encours' THEN 2 ELSE 3 END
Ok, merci, c est exactement la reponse que j'attendais (la ORDER BY CASE...) J'essaie ca tout à l'heure et je vous dis... Merci!
parfait, ca marche! merci!