02. marts 2006 - 10:45Der er
7 kommentarer og 1 løsning
Hvordan får jeg fat i en tidligere række i en database
Hej Eksperter...
Jeg er ved at lave et lille script hvor det skal være muligt at bytte om på rækkefølgen i de rækker jeg har i en tabel...
For at starte med tabellen har en et id, et navn og en placering.
Jeg har så en side som sorterer de rækker efter placering.
Det der så skal være muligt er at kunne ændre i placeringsfeltet ved at klikke på et link.
Hvis der f.eks. er 3 rækker:
ID NAVN PLACERING
1 COLA 1 3 PEPSI 2 4 JOLLY 3
Hvis jeg så vil flytte JOLLY op på PEPSI's plads ved hjælp af et link som indeholder JOLLY's placeringsnummer, hvordan får jeg så de 2 placeringsnumre byttet rundt i tabellen.
Det mere tricky i det er at man også kan slette poster, hvilket jo indebærer at man ikke kan garantere at numrene vil ligge lige efter hinanden.
Hvis i ikke forstår mit spørgsmål, så sig til, så skal jeg prøve at udpensle det noget mere....
hvis du f.eks. vil finde posten som ligger lige under (altså, posten med lavere nummer) kan du sige where PLACERING < 3 limit 1 så vil den finde 2, eller 1 hvis 2 ikke eksisterer
Nå... nu fik jeg det til at virke som jeg gerne ville have det... jeg poster koden for en god ordens skyld, selvom den sikkert ikke er så pæn... :)
$forrige = mysql_query("SELECT * FROM rt_prod_$choose WHERE placering < $place ORDER BY placering DESC LIMIT 1 ") or die(mysql_error()); $aktuel = mysql_query("SELECT * FROM rt_prod_$choose WHERE placering = $place ") or die(mysql_error()); $aktuel2 = mysql_fetch_array($aktuel); $forrige2 = mysql_fetch_array($forrige); $forrigenummer2 = $forrige2[placering]; $forrigenummer = $forrige2[id]; $indset = $aktuel2[id]; $indset2 = $aktuel2[placering]; mysql_query("UPDATE rt_prod_$choose SET placering = '$indset2' WHERE id = $forrigenummer") or die(mysql_error()); mysql_query("UPDATE rt_prod_$choose SET placering = '$forrigenummer2' WHERE id = $indset") or die(mysql_error());
Samme som ovenstående er brugt til at ændre rækkefølgen nedaf...
Jeg lader svaret stående åben til puddelundercover indtil mandag.... hvis ikke der er aflagt svar svarer jeg selv på dem (hvis puddelundercover vil have dem, og ikke har set dette, får han også det)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.