Ik heb een aantal foto's in een database staan. De database tabel bevat de filename van de foto + de positie (en nog wat onrelevante fields)

In het begin heeft alles een volgorde van 1,2,3,4. Dus:

(filename / positie):

1.jpg / 1
2.jpg / 2
3.jpg / 3
4.jpg / 4

Nu open ik de pagina waarmee men de foto volgorde kan veranderen. Hier wordt dus achter iedere foto een dropdown box weergegeven met daar het totaal aantal posities in de database, dus 1,2,3,4

Hoe stel ik nu de query samen zodat als men bijvoorbeeld 3.jpg op positie 1 wil hebben ?

Dus in de database zou dit moeten worden:
1.jpg / 2
2.jpg / 3
3.jpg / 1
4.jpg / 4

De oplossing die ik nu heb is dat de waardes van 2 dropdown boxes niet hetzelfde mogen zijn. Dus 1.jpg en 3.jpg kunnen niet allebei positie 3 hebben.

Weet iemand een manier om dit dynamisch te maken ? Zodat wanneer slechts de positie van 1 dropdown box wordt gewijzigd (en er dus 2 dropdownboxes zijn met bijv. positie 2) dat de positie van de rest ook wordt gewijzigd?
dat gaat ook puur met SQL:
UPDATE menuitems SET position=(IF(idfield = ?id, position = ?pos, IF(position >= ?pos, position + 1, position))
lees ?* parameters in mysqli of gewoon waardes met php gegenereerd.

[size=xsmall]Toevoeging op 05/10/2011 16:35:28:[/size]

en natuurlijk ook nog een where der overheen
@ward in de links die jij aangeeft worden meerdere query´s aangeroepen, dit is hetzelfde maar dan in 1 query

Reageren