Opbygning af tree menu

Tags:    php

Jeg har fundet et java-script der laver en træ menu. Denne genereres ved at tilføje de enkelte elementer på denne måde:

Fold kodeboks ind/udKode 


API:
Det første punkt er base. Det første tal er et id for menuen, som stiger med én for hvert element, det har ikke noget med id for databasen herunder at gøre. Det næste punkt afgør om der er tale om et hovedpunkt eller et underpunkt. Hvis tallet er nul ligger det i roden, ellers vil det være underpunkt til det id i menuen som de refererer til.

Jeg har en database-tabel med følgende opbygning:

id | navn | parent | rank

Det er meningen at jeg skal have lavet noget php-kode, som indsætter indholdet af databasen som menuelementer. De skal rangeres efter "rank", hvor 1 er øverst.

Håber der er nogen der har et forslag :-)



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det er slet ikke så svært. Du laver en tabel i din database hvor du f.eks. har felterne Rank, underpunkt, menutekst og hvad du nu ellers mener at du skal bruge.

Når du opbygger din menu hiver du så dataene ud af tabellen f.eks. ved at sige:
Fold kodeboks ind/udKode 


Der har du teorien og koden burde også virke i praksis (har dog ikke testet det)

Håber at du kan bruge det :)

Mvh. Emil Bjerglund Pedersen



Ud fra din beskrivelse ville jeg prøv dette:
Fold kodeboks ind/udKode 

Du skal skrive din tabel navn de 2 steder der står pages.



Indlæg senest redigeret d. 09.01.2007 13:37 af Bruger #5620
Det er da lige ud af landevejen?!

Du har en datastruktur i din tabel der matcher den struktur som skal til javascriptet.
Det er kun et spørgsmål om at lave et udtræk fra databasen med sortering efter [rank] i stigende værdi, og så lave et gennemløb af den data med php.

Hvordan du skriver det, er ti gange nemmere, at du selv finder ud af - så kan du også huske det til næste gang. ;)



Nu er jeg rimelig ny til PHP, men dataene er jo sorteret således at Forside har rank 1, Produkter rank 2 osv. Men jeg starter jo på en ny rank når der kommer et underpunkt, dvs. at Produkt1 har rank 1. Det er det, der gør mig lidt forvirret når jeg skal lave et gennemløb :S



Mange tak for svarene.

Jeg fordeler pointene mellem Emil og Nørden :D



t