Avatar billede tblaster Nybegynder
23. april 2003 - 17:11 Der er 1 kommentar og
1 løsning

Menu skal hente ting fra database

Hejsa

Nu 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") &""">" & "&nbsp;&nbsp;" & 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
Avatar billede tblaster Nybegynder
30. april 2003 - 16:31 #1
Hvaaaaa ... er der nogen der har lyst til at hjælpe?
Avatar billede tblaster Nybegynder
18. maj 2003 - 15:00 #2
Lukker!
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