Probleme ORDER BY avec 2 parametres

Eléphant du PHP | 178 Messages

08 nov. 2010, 21:59

Bonsoir,

Ma question est simple, je viens de créer un gestionnaire d'images...

On peut décider de l'ordre pour lequel elles s'affichent...

champ : "image_ordre"

Mais je voudrais aussi qu'elle s'affiche de la plus récente a la plus "vieille"

champ : "image_id"

Je n'y arrive pas, car forcemment...je vais avoir toutes les IDs du plus grand au plus petit, et si je fais un 2eme ORDER BY image_ordre, tous les 1, ou 2, etc..sont regroupés

Voici ma requête :
$sql = 'SELECT * FROM images ORDER BY image_id DESC, image_ordre ASC LIMIT '.$debut.','.$nb_affichage_par_page; 
Merci de votre aide ;)

ViPHP
ViPHP | 2144 Messages

09 nov. 2010, 01:36

Salut,

La clause order by définit les critères de classement: en gros:
- Les valeurs sont triés sur ton champ id.
- Si il y a des doublons sur le champ id, le deuxième critère sert à définir leur ordre.

Je ne suis pas sûr d'avoir bien compris ce que tu voulais faire:
Trié sur le champ_id ou trié sur le champ image_ordre ?

Eléphant du PHP | 178 Messages

09 nov. 2010, 11:28

En gros j'aimerais qu'il s'affiche par ordre d'id, du plus grand au plus petit, donc ordre d'entréé

image_id

8
7
6
5
4
etc...

Mais le soucis c'est que j'aimerais aussi, qu'elle s'affiche selon l'ordre qu'on leur donne

image_ordre

1
2
3
etc..

je ne sais pas si je me fais bien comprendre..

/**************************************/
image_id | image_ordre /
/*************************************/
------13-| 1
------12-| 2
------10-| 3
/**************************************/
------11-| 1
------9--| 2
------8--| 3
/**************************************/

Heu..est ce clair ????