Ordonner une liste d'images avec mysql...

Ordonner une liste d'images avec mysql... - PHP - Programmation

Marsh Posté le 19-08-2002 à 17:24:28    

Deuxième question de la journée :
 
J'ai une liste d'images uploadées sur le serveur.
 
A chaque upload d'image, j'enregistre l'opération en utilisant une BDD (mysql). Donc j'ai une table contenant 2 champs : l'adresse de l'image, et bien sûr l'id automatique (autoincrement).
 
Le problème, c'est que je voudrais proposer au titulaire du site la possibilité d'ordonner ses images qu'il aura donc au préalable uploadées.
Or dans ce cas, je vais donc créer un formulaire lui proposant de choisir une image et de choisir sa nouvelle place.
 
Si par exemple, il y a 10 images : 1-2-3-4-5-6-7-8-9-10 et qu'il choisit la 8, il veut qu'elle occupe la deuxième place... Il faut donc déléter l'image choisie, décaler tout ce qui se trouve APRES la deuxième image d'un cran, et replacer l'image précédemment délétée lol...
 
Ma question :
 
Existe-t-il une requête mysql permettant de décaler tous les enregistrement à droite ou à gauche dans une table ?
 
Sinon, pensez que la seule possibilité, c'est de faire un 3° champ float dans la table, puis attribuer une valeur dans ce champ float lors de replacement de l'image égal à (valeur précédente + valeur suivante)/2 ?  :sol:  
 

Reply

Marsh Posté le 19-08-2002 à 17:24:28   

Reply

Marsh Posté le 19-08-2002 à 17:31:38    

Pourquoi tu ne crée pas un 3ème champ avec les positions que l'user veut ?
 
Tu n'aurais plus qu'à calculer les positions a l'aide d'un morceau de script et l'écrire ds le champ.


Message édité par kfman le 19-08-2002 à 17:31:51
Reply

Marsh Posté le 19-08-2002 à 18:06:48    

Oui, j'y ai pensé, regardes la fin de ma question  ;)  Mais si il existait une requête de décalage de données au sein d'un table, ça pourrait être bcp plus simple.
 
Pas d'autres possibilités donc ?

Reply

Marsh Posté le 19-08-2002 à 18:08:39    

meme si ça existait, tu serais emmerdé à cause de l'auto_increment
il veut mieux garder ton champ id pour ce qu'il est et avoir un 3e champ 'order' (trouver un autre mot vu que c un mot reservé sql) comme te l'as suggeré kfman

Reply

Marsh Posté le 19-08-2002 à 18:19:27    

Compris, c parti pour le 3° champ merci !!  :)  
 
d'habitude, ya pas ce genre de problème, puisqu'on utilise le nom ou autre chose pour faire "order by", mais comme là ya que le user (le proprio du site) qui décide séparémment pour chaque image...  

Reply

Marsh Posté le 19-08-2002 à 18:22:43    

LexTuhor a écrit a écrit :

Compris, c parti pour le 3° champ merci !!  :)  
 
d'habitude, ya pas ce genre de problème, puisqu'on utilise le nom ou autre chose pour faire "order by", mais comme là ya que le user (le proprio du site) qui décide séparémment pour chaque image...  
 



ouaip

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed