Modérateur PHPfrance |
10684 Messages
05 sept. 2010, 21:39
L'instruction order by ne permet que de trier par ordre croissant ou décroissant. Dans le cas d'une chaine de caractère, le tri se fait par ordre alphabétique. Mais tu ne peux pas lui imposer un tri particulier...
Pour faire ce que tu veux, le plus simple c'est probablement d'ajouter un champ dans ta base qui te permettra de servir de clé de tri.
Une autre solution pourrait consister à jouer avec les conditions case/when de mysql, et associer un ordre à chaque type. Tu peux ainsi créer une colonne qui te servira pour le tri :
SELECT CASE WHEN type = 'studio' THEN 1 WHEN type = 'f2' THEN 2 ... END AS tri
, type, prix, ....
FROM IWlocations
ORDER BY tri
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...