hallo, 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')
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.
hmmm 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..
Je 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).