PDA

Volledige versie bekijken : rij in database tabel naar boven/onder


bkersten
%Europe/Berlin %789 %2007, 19:56
Hoi,

Weet iemand of er een simpele manier is om via PHP een veld van een tabel naar boven of naar onder te verplaatsen?!

B.v.d.

mech7
%Europe/Berlin %794 %2007, 20:03
Maak een extra column met order_id

bkersten
%Europe/Berlin %797 %2007, 20:08
Maar hoe kan ik er dan voor zorgen dat een item 1 omhoog of omlaag gaat?
Want ik zou het eigenlijk zo willen hebben dat je bij de items (die in een tabel worden weergegeven) bij ieder item staat: Omlaag | Omhoog.

Maar hoe kan ik dat dan doen bij de extra rij 'order_id' in PHP??

Bargok
%Europe/Berlin %983 %2007, 00:35
Ok.

Benodigdheden:

1. Een 'order' veld in de database.
2. Een '$id' van het veld dat je wilt gaan verplaatsen, en dat veld z'n positie ('$order').


// Omlaag
mysql_query("UPDATE tabel SET order = order + 1 WHERE id = '".$id."'");
mysql_query("UPDATE tabel SET order = order - 1 WHERE order = '".($order+1)."' AND id != $id");

// Omhoog
mysql_query("UPDATE tabel SET order = order - 1 WHERE id = '".$id."'");
mysql_query("UPDATE tabel SET order = order + 1 WHERE order = '".($order-1)."' AND id != $id");



Vergeet niet een functie aan te roepen die na elke verandering de volgorde controleert en fixed.

w00
%Europe/Berlin %984 %2007, 00:37
EDIT

Laat maar, te laat :)

M@rcel
%Europe/Berlin %565 %2007, 14:35
Maar nu moet je elke keer de pagina verversen.

Heb dit ook een keer gemaakt alleen dan met behulp van javascript.
Je pagina hoeft dan niet steeds opnieuw geladen te worden.
Als je dan alles klaar hebt klik je op de 'update'button bv en dan past ie alles pas aan.

bkersten
%Europe/Berlin %575 %2007, 14:48
@Marcel: Heb je hier misschien nog het stukje code van? Of op internet ergens?

Bargok
%Europe/Berlin %735 %2007, 18:38
www.w3schools.com

Volg de AJAX tutorial links, AJAX stelt helemaal geen kont voor, het is puur 1 enkel object.

bkersten
%Europe/Berlin %583 %2007, 15:00
@Bargok: Wat moet ik in $order zetten dan??

w00
%Europe/Berlin %615 %2007, 15:46
In $order staat de 'oude' waarde van de positie van je link. Dus die moet je ophalen met een POST of GET, afhankelijk van jou situatie en dan vervolgens de waarde in een variabel plaatsen die $order heet.