Page 1 sur 1

ordre d'affichage de données

Posté : 15 juil. 2009, 18:24
par fabrice88250
bonjour,
voilà, je suis en train de faire un galerie photos.
jusque là pour l'affichage de mes photos j'utilisai dans ma requet ASC ou DSC pour l'affichage croissant ou decroissant en foncion de l'ID.

maintenant, je voudrai savoir si il est possible de definir un ordre entierement choisit par moi.
par exemple dans ma BDD j'ai :

ID1 - Photos1
ID2 - Photos2
ID3 - Photos3
ID4 - Photos4
ID5 - Photos5
......

pour l'affichage croissaant j'utilise dans ma requet ORDER BT DSC.

comment faire pour choisir mon propre trie d'affichage ?

par exemple :
ID4 - Photos4
ID2 - Photos2
ID1 - Photos1
ID5 - Photos5
ID3 - Photos3
....

Posté : 15 juil. 2009, 19:46
par Ryle
Ben si tu arrives à trouver une règle qui justifie de cet ordre, ça doit pouvoir se faire, mais le plus simple à mon avis sera d'ajouter un champ "ordre" dans ta table, de mettre les valeur 1, 2, 3 ... en fonction de l'ordre d'affichage que tu souhaites mettre en place, et de faire un ORDER BY ce champ pour les avoir dans l'ordre qui te convient :)

Posté : 15 juil. 2009, 19:53
par fabrice88250
oui j'ai déjà ajouter un champ tri pour l'ordre d'affichage mais je me pose encore un question.

par exemple si je dis a photos 4 de prendre la position 1.
du coup photo1 et photo 4 onrront la meme position se qui m'obligerait a modifier une par une les position de toutes les photos afin qu'il n'y ai pas de double...
si j'ai que 5 photos dans ma galerie sa va mais si j'en ai 150 ???

Posté : 15 juil. 2009, 19:59
par Ryle
Bah y a pas énormément de solutions... tu peux automatiser ce changement d'ordre avec une fonction php (si la position que tu spécifies existe déjà, tu update également l'autre enregistrement)...

Maintenant, s'il y a une règle autre que l'ordre d'arrivée qui te permet de définir que la photo 4 doit être avant la 2, elle même avant la 1, etc. ça doit pouvoir se faire... faut juste établir cette règle :)