24. april 2008 - 10:20Der er
8 kommentarer og 1 løsning
Find niveau
Jeg har en tabel i en database med en menu i.
Der er (simpliceret): id subid menunavn
Hvis et menupunkt har undermenupunkter, så er subid det samme som id'et i overmenupunktet
Eksempel (id, subid, menunavn) 1, 0, Menupunkt 1 2, 0, Menupunkt 2 3, 2, Undermenupunkt til Menupunkt 2 4, 1, Undermenupunkt til Menupunkt 1 5, 4, Undermenupunkt til ovenstående menupunkt (3. niveau)
Der kan være flere niveauer endnu
Nu er mit problem så at jeg skal finde ud af hvilket niveau et menupunkt er. Det første niveau er altid 0 i subid så det er nemt. Men er det muligt at finde ud af hvilket niveau andre punkter har?
Ok, weird - Og du paster kun den ene, ikke? Prøv at rename dem til noget andet, findLevel eller lign. (i den rekursive husk at ændre inde i funktionen også)...
Skal du hente level-værdien væsentligt ofterer, end du retter i menuen (f.eks. én eller flere gange i en bruger-session), vil det nok kunne betale sig at oprette et ekstra felt i DB'en - og lægge level-værdien her.
Så skal du kun bladre tabellen rekursivt igennem, når du retter i den - ikke hvergang en bruger skal bruge menuen ;o)
Det er kun når der oprettes nye sider så den ikke kan oprettes i et niveau der er længere nede end menuscriptet tillader
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.