Stig Sørensen wrote:
> Hej gruppe.
>
> I en mySQL tabel har jeg feks. 10 rækker med et eller andet, navne
> feks.
> Disse navne sorteres efter et felt der hedder "position". (1-10)
>
> Rækken der har tallet 1 i feltet position bliver printet ud øverst,
> det tal med 10 nederst.
>
> Så kunne jeg forstille mig at der uder for navnene blev dannet to
> link, et der hed "Up" det andet "Down" - når man trykkede på "Up" ud
> får navn nr. 8 var URL'en feks: ?change_pos=up?id=8
I disse Web2.0 dage, der bruger hiver man bare rundt på tingene :)
og det er faktisk en hel del nemmere, da den giver positionsnummer for
alle items på 1 gang, istedet for at du skal regne ud hvilken der skal
rykke et nummer ned og hvilken der skal rykke et nummer op.
Du kan hente inspiration herfra
http://jqueryui.com/demos/sortable/
også via AJAX så kalder man en PHP fil, med noget data, også kan man
løkke det data igennem og smide positionerne ind i databasen.
>
> Og så blev nummer 8 til nummer 7 og nummer 7 blev til nummer 8.
> Okay, jeg er godt nok ringe til at forklare mig, når jeg lige læser
> mit indlæg igennem, men håber det kan forstås hvad jeg mener.
>
> Mit problem er hvordan det skal gøres i praksis?
> Er det 'bare' at grabbe ?id = 8, se at det skal rykkes op ved at
> tjekke ?change_pos, lave en mysql UPDATE der opdatere 8 til 7, og 7
> til 8?
Nej, for så har du 2 der fx. hedder position 8 i databasen, også kan man
ikke finde ud af hvilken der faktisk skal være 7 :)
Det som du skal gøre ved denne metode er
?id=PRODUKT_ID&type=UP/DOWN
Altå et link indeholder databasens ID nummer og om det skal være op og ned.
Så henter man positionsnummeret ud for det ID man har i linket, og så
hvis det er op i type, så henter man den med positionsnummeret før og
opdaterer det positionsnummer, og bagefter opdaterer du så det produkt
med ID'et fra linket.
>
> Eller findes der er smartere metode?
Prøv at tænke på hvor kedeligt det er at sætte det nederste produkt til
at skulle være det første produkt. - 10 klik... Eller mere, alt afhængig
af hvor mange produkter man får i fremtiden :)
>
>
> Håber det til at forstå, synes godt nok jeg skriver en omgang
> vollapyk.
Det er et typisk problem, så nemt at forstå :)