Menu skal hente ting fra database
HejsaNu har jeg bøvlet nok med det her l***. Jeg er ved at lave en menu der henter kategorierne fra en mysql database. Min tabel ser sådan ud:
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
Og hvis der er en undermenu til underunderkategori1 så skal den naturligvis også bare udskrives under underunderkategori1 og lidt indrykket så man kan se at den tilhøre den kategori.
Udover bare at udskrive dem så skal den også lige Order By Prioritet og kun udskrive de kategorier for hvilke der gælder at rs("Aktiv") >< 0.
Jeg har følgende kode som jeg har arbejdet med indtil nu men er gået istå. Den udskriver fint kategorierne men når den udskriver en underunderkategori så indrykker den den ikke og når man trykker på den så lukkes hele menuen og den bliver ikke aktiv.
Se hvordan det er nederstående kode opførse sig på:
http://www.just2funny.dk/1/index.asp?Size=&parentid=0&Kategorie=12&Forside=12
Tryk på blondiner og evt. en af underkategorierne.
Jeg vedlægger den kode jeg har indtil nu, hvis der er nogen der kan rette den til. For min skyld må I gerne lave en helt ny kode ... jeg skal gerne bare have noget det virker hurtigst muligt. Den skal kunne virke med mindst 4 niveuer. Udseendes mæssigt skal det være som nederstående kode og linksne skal også udskrives på samme måde.
----------------------------------------------------------
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 Id, ParentID, Navn, Aktiv 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("ParentID") <> 0 Then
Response.Write "<A href=""index.asp?Size=" & session("Sizex") & "&parentid=" & rs("parentID") & "&Kategorie=" & rs("Id") & "&Forside=" & rs("Id") &""">" & " " & rs("Navn")
Else
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)
conn.close
set conn=Nothing
