Positie eigenschap SQL updating

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dave L

Dave L

05/10/2011 11:58:56
Quote Anchor link
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?
 
PHP hulp

PHP hulp

24/11/2024 08:15:42
 
Ward van der Put
Moderator

Ward van der Put

05/10/2011 12:11:53
Quote Anchor link
Dat kan met een combinatie van jQuery, Ajax en MySQL:

http://wil-linssen.com/entry/extending-the-jquery-sortable-with-ajax-mysql/

Het aardige is dat deze oplossing uitgaat van drag & drop, wat wel zo handig is voor juist zoiets visueels als foto's.

Demo: http://demo.wil-linssen.com/jquery-sortable-ajax/
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/10/2011 16:32:55
Quote Anchor link
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.

Toevoeging op 05/10/2011 16:35:28:

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
Gewijzigd op 05/10/2011 16:53:28 door Ger van Steenderen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.