volgorde bepalen voor items
Rick
25/01/2006 17:02:00hallo, ik ben een cmsje aan het maken en ik zit vast bij het volgende..
ik laat een lijst genereren van items uit de database met een while lus.. ik zou willen dat achter elk item een up en een down knop/link komt zodat de pagina refreshed en het betreffende item in de database 1 plek naar boven of beneden is gegaan.. (veld 'volgorde')
iemand een idee?
thnx
ik laat een lijst genereren van items uit de database met een while lus.. ik zou willen dat achter elk item een up en een down knop/link komt zodat de pagina refreshed en het betreffende item in de database 1 plek naar boven of beneden is gegaan.. (veld 'volgorde')
iemand een idee?
thnx
PHP hulp
08/11/2024 14:25:24Arjan Kapteijn
25/01/2006 17:08:00?itemid=id&volgorde=boven / beneden.
Waardes ophalen en updaten die handel!
Zal iets worden als:
UPDATE voorbeeld SET volgorde=volgorde + 1 WHERE itemid = $id
of
UPDATE voorbeeld SET volgorde=volgorde - 1 WHERE itemid = $id
Uiteraard eerst waardes uit de get halen, controleren mij bijv. is_nummeric, tegen een array aanleggen, mysql_real_escape_string, vars buiten de quotes houden bladiebladiebla.
Maar ik ga er vanuit dat je dat begrijpt.
Waardes ophalen en updaten die handel!
Zal iets worden als:
UPDATE voorbeeld SET volgorde=volgorde + 1 WHERE itemid = $id
of
UPDATE voorbeeld SET volgorde=volgorde - 1 WHERE itemid = $id
Uiteraard eerst waardes uit de get halen, controleren mij bijv. is_nummeric, tegen een array aanleggen, mysql_real_escape_string, vars buiten de quotes houden bladiebladiebla.
Maar ik ga er vanuit dat je dat begrijpt.
Rick
25/01/2006 17:24:00hmmm nee niet egt:p
hoe verander je dan het item dat de oorspronkele waarde volgorde had die nu aan een ander item wordt toegewezen? want mogen geen dubbelen waarden in het veld volgorde..
hoe verander je dan het item dat de oorspronkele waarde volgorde had die nu aan een ander item wordt toegewezen? want mogen geen dubbelen waarden in het veld volgorde..
Arjan Kapteijn
25/01/2006 17:52:00Je doet 2x een update... Stel ik wil nummer 210 één ding omhoog doen...
UPDATE voorbeeld SET volgorde = volgorde - 1 WHERE itemid = 210
UPDATE voorbeeld SET volgorde = volgorde + 1 WHERE itemid = (210 -1)
210 krijgt dan 209
en 209 (210 - 1) krijgt dan 210.
Echter dit is een voorbeeeld ey. En er zijn vast andere oplossingen voor. Ik ga er vanuit dat volgorde niet de primary key is, dan doe je wat fout in je database opzet wat een item kan niet van PK veranderen (officieel).
UPDATE voorbeeld SET volgorde = volgorde - 1 WHERE itemid = 210
UPDATE voorbeeld SET volgorde = volgorde + 1 WHERE itemid = (210 -1)
210 krijgt dan 209
en 209 (210 - 1) krijgt dan 210.
Echter dit is een voorbeeeld ey. En er zijn vast andere oplossingen voor. Ik ga er vanuit dat volgorde niet de primary key is, dan doe je wat fout in je database opzet wat een item kan niet van PK veranderen (officieel).