/ 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
Sortere i mysql-række
Fra : Torben Heikel Vinthe~


Dato : 16-09-03 11:23

Jeg har lavet et databasestyret menusystem, hvor hvert menupunkt
har et id, parent_id og et rækkefølgetal, så der kan laves en
træstruktur sorteret efter rækkefølgetallet. Når jeg indsætter et
nyt menupunkt sættes rækkefølgetallet automatisk til +1. Det
virker fint, men når jeg vil ændre på rækkefølgen af menupunkter,
så har jeg ikke fundet på en smart måde at programmere mig ud af
det, så det foregår ved at ændre i menutabellen via phpmyadmin,
og det er jo noget besværligt.

Er der nogen der har en god idé til hvordan jeg kan lave en
funktion eller lignende, som kan flytte et menupunkt op eller ned
i rækken og samtidig opdatere de øvrige menupunkter i forhold til
dette?

Et eksempel (rækkefølgetal i parentes):
Hest (1)
Ko (2)
Gris (3)

- ændres til:
Ko (1)
Hest (2)
Gris (3)

Jeg håber det er forståeligt hvad jeg spørger efter, og at det er
den rette NG jeg stiller det i (kunne jo være at jeg skal have
fat i noget javascript eller hvad?).

På forhånd tak
Torben Heikel Vinther

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Poul-Erik Andreasen (16-09-2003)
Kommentar
Fra : Poul-Erik Andreasen


Dato : 16-09-03 12:26

On Tue, 16 Sep 2003 10:23:18 +0000 (UTC)
Torben Heikel Vinther <thv@sopper.dk> wrote:

> Jeg har lavet et databasestyret menusystem, hvor hvert menupunkt
> har et id, parent_id og et rækkefølgetal, så der kan laves en
> træstruktur sorteret efter rækkefølgetallet. Når jeg indsætter et
> nyt menupunkt sættes rækkefølgetallet automatisk til +1. Det
> virker fint, men når jeg vil ændre på rækkefølgen af menupunkter,
> så har jeg ikke fundet på en smart måde at programmere mig ud af
> det, så det foregår ved at ændre i menutabellen via phpmyadmin,
> og det er jo noget besværligt.
>
> Er der nogen der har en god idé til hvordan jeg kan lave en
> funktion eller lignende, som kan flytte et menupunkt op eller ned
> i rækken og samtidig opdatere de øvrige menupunkter i forhold til
> dette?
>
> Et eksempel (rækkefølgetal i parentes):
> Hest (1)
> Ko (2)
> Gris (3)
>
> - ændres til:
> Ko (1)
> Hest (2)
> Gris (3)
>
> Jeg håber det er forståeligt hvad jeg spørger efter, og at det er
> den rette NG jeg stiller det i (kunne jo være at jeg skal have
> fat i noget javascript eller hvad?).
>
> På forhånd tak
> Torben Heikel Vinther

javascript er clientsidet, så det kan hjælper ikke meget.
Det jeg vil anbefale er at du tænker relativt i stedet for
absolut.

i stedet for ovestående tabel så ville jeg gøre følgelde:

aktuelle   foranstående    næste

hest       (start)      (ko)
ko       (hest)       (gris)
gris       (ko)       (slut)   

På den måde skal du kun ændre på den forrige og den
efterfølgende hvis sætte nye emner ind, uanset hvor stor
din tabel bliver. og de funtioner du lave for at sætte nye værdier ind
elle fjærne gamle bliver ens uanset hvor i tabelle du befinder.
og der vil kune være tale om to funtioner nemlig en put og en
remove. resten kan du klare ved at kombiner de to, på forsklellig
hvis.

Når du skal lave dine menupunket hiver du hele tabblen ud i
et array finder start og arbejder dig fremefter, evt ved hjælp
af en rekursiv funtion.


--
Poul-Erik Andreasen

http://www.linux-service.dk
http://www.pea.dk

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

Månedens bedste
Årets bedste
Sidste års bedste