Positie aanpassen in database
Rein de Vries
07/03/2008 15:19:00Beste Allemaal,
ik heb een probleem..
ik heb een aantal pagina items in een dropdown menu staan. nu wil ik dat die aanpasbaar zijn in positie.
dus heb ik die items in mijn database(mysql) het veld positie meegegeven.
alleen nu wil ik dat als je 1 positie veranderd de rest mee veranderd.
dus bijv. ik heb :
1
2
3
4
nu moet 4, 2 worden.
alleen dan moet 3 wel weer 4 worden en 2 moet 3 worden...
ik heb zelf al wat lopen uit zoeken maar kwam er tog niet uit..
heeft 1 van jullie mischien een idee?
alvast bedankt
Groet Rein
ik heb een probleem..
ik heb een aantal pagina items in een dropdown menu staan. nu wil ik dat die aanpasbaar zijn in positie.
dus heb ik die items in mijn database(mysql) het veld positie meegegeven.
alleen nu wil ik dat als je 1 positie veranderd de rest mee veranderd.
dus bijv. ik heb :
1
2
3
4
nu moet 4, 2 worden.
alleen dan moet 3 wel weer 4 worden en 2 moet 3 worden...
ik heb zelf al wat lopen uit zoeken maar kwam er tog niet uit..
heeft 1 van jullie mischien een idee?
alvast bedankt
Groet Rein
PHP hulp
04/10/2024 07:16:52Frank -
07/03/2008 15:28:00Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
UPDATE
tabel
SET
positie = CASE
WHEN positie = 4 THEN 2
WHEN positie = 2 THEN 4
ELSE positie
END
WHERE
positie IN(2,4);
tabel
SET
positie = CASE
WHEN positie = 4 THEN 2
WHEN positie = 2 THEN 4
ELSE positie
END
WHERE
positie IN(2,4);
Om de posities 2 en 4 om te draaien. Vervolgens kun je ook de andere posities gaan omdraaien, die queries voer je daarna pas uit.
Nog wat uitleg:
WHEN positie = 4 THEN 2
dit mag je lezen als:
WHEN positie = oude_waarde THEN nieuwe_waarde
en:
WHEN positie = 2 THEN 4
eveneens als:
WHEN positie = oude_waarde THEN nieuwe_waarde