Menu bygget op som træ struktur
Jeg er ved at lave et menu system som er bygget op som en træ stryktur. Den skal hente informationerne som den skal bruge fra en mysql database som er opbygget på følgende måde:Id: Parentid: Navn: Prioritet: Aktiv:
1 0 kategori1 0 1
2 1 underkategori1 til kategori1 1 1
3 1 underkategori2 til kategori1 1 1
4 0 kategori2 1 1
5 4 underkategori3 til kategori2 1 1
6 5 underunderkategori1 til knderkategori3 1 1
Dette skal så gerne skrives ud således i min menu:
kategori1
underkategori1
underkategori2
kategori2
underkategori3
underunderkategori1
Koden som jeg har pt. skriver det ud som overstående men laver en enkelt fejl og det er når man trykker på en "underunderkategori" altså en niveu 3 kategori for så lukkes hele menuen.
I kan se hvordan menuen virker lige nu og hvordan det er den lukker menuen her:
http://www.just2funny.dk/1/index.asp?Size=&parentid=13&Kategorie=16&Forside=16
Bare tryk på en af de kategorier der står under Blondiner!
Jeg håber der er en der hurtigt kan hjælpe mig med at fikse denne lille fejl. Skal jeg ændre i min sql databases opsætning så gør det ikke noget!
Her er så min kode:
____________________________________________________________
Dim kID
Dim ukID
Dim parentID
parentID = session("parentID")
Sub RtrnKat(pid)
Dim rs
Dim rs_sql
Set rs = Server.CreateObject("ADODB.Recordset")
rs_sql = "SELECT * FROM Kategorier WHERE ParentID = " & pid & " Order By Prioritet asc, Navn asc"
rs.Open rs_sql, Conn, 1, 1
Do While Not rs.EOF
If rs("parentID") = 0 Then kID = rs("parentID")
Response.Write "<tr>" & _
"<TD width=18 height=15></TD>" & _
"<TD width=10 height=15>"
If CInt(session("Kategorie")) = CInt(rs("Id")) Then
Response.Write "<IMG height=5 src=""Pics/firkant_fyld.gif"" width=5></TD>"& _
"<TD bgColor=#dfebc8 height=15><B>"
Else
Response.Write "</TD>" & _
"<TD height=15><B>"
End If
If rs("Nr") = 1 Then
Response.Write "<A href=""index.asp?Size=" & session("Sizex") & "&parentid=" & rs("parentID") & "&Kategorie=" & rs("Id") & "&Forside=" & rs("Id") &""">" & rs("Navn")
End If
If rs("Nr") = 2 Then
Response.Write "<A href=""index.asp?Size=" & session("Sizex") & "&parentid=" & rs("parentID") & "&Kategorie=" & rs("Id") & "&Forside=" & rs("Id") &""">" & " " & rs("Navn")
End If
If rs("Nr") = 3 Then
Response.Write "<A href=""index.asp?Size=" & session("Sizex") & "&parentid=" & rs("parentID") & "&Kategorie=" & rs("Id") & "&Forside=" & rs("Id") &""">" & " " & rs("Navn")
End If
Response.Write "</A></B></TD>" & _
"</tr>"
If CInt(Session("Kategorie")) = CInt(rs("ID")) Then RtrnKat(rs("ID"))
If CInt(parentID) = CInt(rs("ID")) Then RtrnKat(rs("id"))
'If CInt(kID) = rs("") Then RtrnKat(rs("ID"))
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
Call RtrnKat(0)
____________________________________________________________
