/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Ændre position i en liste, PHP+mySQL
Fra : Stig Sørensen


Dato : 18-03-09 12:13

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

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?

Eller findes der er smartere metode?


Håber det til at forstå, synes godt nok jeg skriver en omgang
vollapyk.
Beklager :(


Mvh
Stig

 
 
Martin (18-03-2009)
Kommentar
Fra : Martin


Dato : 18-03-09 21:43

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å :)

Martin (20-03-2009)
Kommentar
Fra : Martin


Dato : 20-03-09 13:14

Virker ikke i den nye IE 8
Martin

>
> 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.
>
>>



Martin (02-04-2009)
Kommentar
Fra : Martin


Dato : 02-04-09 00:20

Det gør det så alligevel

Martin


"Martin" <post@teknit.dk> skrev i en meddelelse
news:49c38893$0$90265$14726298@news.sunsite.dk...
> Virker ikke i den nye IE 8
> Martin
>
>>
>> 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.
>>
>>>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste