30. juli 2005 - 01:25Der er
6 kommentarer og 3 løsninger
Nemmeste måde at skifte rækkefølge?
Hey. Er ny her og skriver kun fordi vores php-prorgammør er på ferie.
Vi har lavet et system hvor man kan tilføje produkter og de får så tildelt et id også. Website'et viser produkterne efter id, altså først id 1, 2, 3 osv.
Nu vil klient godt kunne flytte produkterne rundt. Så han f.eks. kan flytte produktet fra plads 20 (id 20) til plads 3 (id 3). Problemet er så at vi jo ikke bare kan lave id'et om, for så er der jo to produkter med samme id?
Indtil jeres programmør kommer hjem, tror jeg det er nemmest at ændre det direkte i databasen. F.eks. med phpMyAdmin eller lignende (MySQL Front eller hvad I bruger). Tag den første og ændr ID'en til noget højt som ikke findes i forvejen, tag den anden og giv den den førstes oprindelige ID, ændr den første til den andens gamle ID ;)
Tak for svaret. Jeg kan godt se hvad du mener. Men problemet er jo så, at den første så kommer til at ligge et andet sted end før.
Er der en måde hvor på man kan rykke alle id's efter og med f.eks. 4 hvis man sætter et produkt ind som 4? Altså så den oprindelige 4 bliver 5, og 5 bliver 6 osv.
sqlquery("UPDATE tabel SET sortering = 'SWAP' WHERE sortering = '$nyplads'"); sqlquery("UPDATE tabel SET sortering = '$nyplads' WHERE sortering = '$res[0]'"); sqlquery("UPDATE tabel SET sortering = '$res[0]' WHERE sortering = 'SWAP'");
}
Du kan så lave en liste over alle produkterne, og i siden lave pile op og ned, hvor dem op kører funktionen changeSort("op", $id) og omvendt ned:)
mysli, tak for hjælpen. Det er muligvis noget vi kan bruge. Hvordan får vi lagt sortering på de allerede lidt over 100 produkter som allerede er inde i db'en?
for ($x=0; $x < $antal; $x++){ $sortering = $x++; sql("UPDATE tabel SET sortering = '$sortering' LIMIT $x,1"); } Så opdatere den alle dine nuværende rækker:)
Ups? Er ny så er ikke helt med på det med point...
Synes godt om
Ny brugerNybegynder
Din løsning...
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.