Avatar billede madeindk Nybegynder
05. januar 2008 - 19:17 Der er 1 løsning

Rekursiv funktion - skal kun liste menuer der hører til

Hej eksperter! Jeg har fået fingrer i en rekursiv funktion der ligger alle menupunkter ind i et Array og derefter lister dem lynhurtigt. Det fungerer upåklageligt. Men for ikke at forvirre folk alt for meget når de surfer rundt på sitet vil jeg gerne ha' at det kun er de relavante der viser sig.

Det vil så sige, hvis jeg har følgende struktur:

Lande
- Danmark
  - København
  - Vesterbro
  - Østerbro
  - Odense
  - HC Andersen
  - Odense Domkirke
  - Århus
- Sverige

Så først når jeg klikker ind under Danmark skal København, Odense og Århus komme frem og når man så klikker sig ind under København  skal Vesterbro og Østerbro snige sig frem, altså som undermenuer. Overpunkterne skal stadig vises altså 'Danmark' og 'København' :-)

Lige nu har følgende funktion til at skabe min menu:

<%
Function ListingLeftMenu(intID)
    For m = 1 to Ubound(arrID)
        If Int(arrRE(m)) = Int(intID) Then       
            ListingLeftMenu = ListingLeftMenu & "<li>" & Int(arrRE(m)) & "" & InsertSpace(arrNI(m)-1) & "<a href=""/" & arrID(m) & "-" & RewriteURL(arrSN(m)) & "/"">" & arrPN(m) & "</a></li>" & ListingLeftMenu(arrID(m))   
        End If
    Next
End Function
%>

Der er følgende fire Arrays:
- arrID: Alle siders IDer
- arrRE: Hvilken side de hører til
- arrNI: Hvilket niveau de hører under - der er fra 0-5
- arrPN: Hvad menuen hedder

Håber der er nogen der kan hjælpe mig.
Avatar billede madeindk Nybegynder
17. januar 2008 - 18:20 #1
Lukker. Fandt aldrig en løsning, men fandt på noget andet.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester