/ 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
Rækkefølge for rækker i tabel
Fra : Nomen Nescio


Dato : 28-02-04 22:55

Jeg kunne godt tænke mig at lave en 'rækkefølge'-kolonne i min tabel, lad os
antage at den ser sådan ud:
id | raekkefoelge | tekst
Så jeg altså ikke får dem i id's rækkefølge hver gang, men i stedet kan
bruge "ORDER BY raekkefoelge ASC".
Jeg skal i administrationsmodulet have mulighed for at sætte rækkefølgen op.
Nu kommer problemet:
Hvis jeg har to rækker, den ene med raekkefoelge = 1 og den anden med
raekkefoelge = 2. Jeg vil rykke raekke 1 nedad, så den altså får
raekkefoelge = 2 - men jeg skal have den anden række til at rykke op og få
raekkefoelge = 1.
Er der en smart måde at gøre det på i PHP/MySQL - eller skal det hardcodes?
Jeg håber jeg har gjort mig forståelig.
På forhånd tak.




 
 
JMo. (28-02-2004)
Kommentar
Fra : JMo.


Dato : 28-02-04 23:14

Nomen Nescio wrote:

> Hvis jeg har to rækker, den ene med raekkefoelge = 1 og den anden med
> raekkefoelge = 2. Jeg vil rykke raekke 1 nedad, så den altså får
> raekkefoelge = 2 - men jeg skal have den anden række til at rykke op
> og få raekkefoelge = 1.

Du kan overveje at angive rækkefølgen som et komma-tal. Hvis du så vil
flytte række 1 ned mellem række 2 og 3, kalder du den blot 2,5. Vil du nu
indsætte endnu en række mellem 2 og 2,5 kalder du den blot 2,25 og så
fremdeles.

Dennis Newel (29-02-2004)
Kommentar
Fra : Dennis Newel


Dato : 29-02-04 00:14

JMo. wrote:
> Nomen Nescio wrote:
>
>
>>Hvis jeg har to rækker, den ene med raekkefoelge = 1 og den anden med
>>raekkefoelge = 2. Jeg vil rykke raekke 1 nedad, så den altså får
>>raekkefoelge = 2 - men jeg skal have den anden række til at rykke op
>>og få raekkefoelge = 1.
>
>
> Du kan overveje at angive rækkefølgen som et komma-tal. Hvis du så vil
> flytte række 1 ned mellem række 2 og 3, kalder du den blot 2,5. Vil du nu
> indsætte endnu en række mellem 2 og 2,5 kalder du den blot 2,25 og så
> fremdeles.

so sorry - men det lyder bare ikke holdbart :)

JEg vil nok forelå at lave det i phpkoden - dvs i admin.interfacet. Når
man vil flytte en kollonne op eller ned, laver du to update statements:
1) update tablename set raekkefolge=$row->raekkefolge where
raekkefolge=$row->raekkefolge+1
2) update tablename set raekkefolge=$row->raekkefolge+1 where id=$row->id

...håber det giver mening.

./Dennis

p.s. ikke testet eller noget, og det kan sikkert gøres smartere :)

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408848
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste