Avatar billede uneerup Nybegynder
21. september 2005 - 16:17 Der er 1 kommentar og
1 løsning

Træ Menu

Hej alle,

Jeg søger, som mange andre, et script til en menu. Den skal virke på den måde, at klikker man på et menupunkt, så kommer menupunkterne som ligger under dette menupunkt, til syne.

Jeg har set mange javascript menuer der kan dette, men det er ikke dem jeg søger. Mine sider hedder f.eks default.asp?id=502

Går man ind på f.eks. default.asp?id=556, så skal denne menu selvfølgelig folde sig ud, så menupunktet kommer til syne, og gerne makeret med fed.

Håber det er til at forstå, jeg vil gerne give mange point til den der kan løse problemmet for mig.

Min database er opbygget således:

sider:
id - parentid - navn

/Uneerup
Avatar billede uneerup Nybegynder
21. september 2005 - 16:19 #1
Den må meget gerne kunne vise uanede niveauer!
Avatar billede uneerup Nybegynder
23. september 2005 - 00:02 #2
Jeg fandt selv ud af det. Her er koden. Den kan godt nok kun vise 5 niveauer, men den er nem at udbygge.

Kode------------->

<%

Set RS1 = Server.CreateObject("ADODB.Recordset")
SQL1 = "SELECT * FROM sider WHERE id="&sideID&""
RS1.Open SQL1, Conn, 1, 3
Do While Not RS1.EoF
aa_1=RS1("parentid")
RS1.MoveNext
Loop
response.Write(aa_1)

if aa_1="" then
aa_1=0
end if
Set RS2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT * FROM sider WHERE id="&aa_1&""
RS2.Open SQL2, Conn, 1, 3
Do While Not RS2.EoF
aa_2=RS2("parentid")
RS2.MoveNext
Loop
response.Write(aa_2)

if aa_2="" then
aa_2=0
end if
Set RS3 = Server.CreateObject("ADODB.Recordset")
SQL3 = "SELECT * FROM sider WHERE id="&aa_2&""
RS3.Open SQL3, Conn, 1, 3
Do While Not RS3.EoF
aa_3=RS3("parentid")
RS3.MoveNext
Loop
response.Write(aa_3)

if aa_3="" then
aa_3=0
end if
Set RS4 = Server.CreateObject("ADODB.Recordset")
SQL4 = "SELECT * FROM sider WHERE id="&aa_3&""
RS4.Open SQL4, Conn, 1, 3
Do While Not RS4.EoF
aa_4=RS4("parentid")
RS4.MoveNext
Loop
response.Write(aa_4)


%>

<table width="100%">
<%
'Niveau 1 Start
menu1 = "Select * FROM sider WHERE parentid=0 order by rakkefolge ASC"
Set menu1 = Conn.Execute(menu1)
Do While Not menu1.EoF

if int(request("id"))=menu1("id") then
%>
<tr><td style="border-bottom:1px solid #FFFFFF; height:22px; vertical-align:middle; padding-bottom:2px;"><img src="public/grafik/blue_bullet_dark.gif"><a href="default.asp?id=<%=menu1("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu1("navn")%></a></td>
</tr>
<%
else
%>
<tr><td style="border-bottom:1px solid #FFFFFF; height:22px; vertical-align:middle; padding-bottom:2px;"><img src="public/grafik/blue_bullet_dark.gif"><a href="default.asp?id=<%=menu1("id")%>" style="color:#1E4161;"><%=menu1("navn")%></a></td>
</tr>
      <%
end if

'Niveau 1 SLUT

'Niveau 2 Start

if menu1("id")=int(request("id")) OR aa_1=menu1("id") OR aa_2=menu1("id") OR aa_3=menu1("id") OR aa_4=menu1("id") then
menu2 = "Select * FROM sider WHERE parentid="&menu1("id")&" order by rakkefolge ASC"
Set menu2 = Conn.Execute(menu2)
Do While Not menu2.EoF
if int(request("id"))=menu2("id") then
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"><a href="default.asp?id=<%=menu2("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu2("navn")%></a></td>
      </tr>
      <%
else
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;"><a href="default.asp?id=<%=menu2("id")%>" style="color:#1E4161;"><%=menu2("navn")%></a></td>
      </tr>
<%
end if
'Niveau 2 SLUT

'Niveau 3 Start

if menu2("id")=int(request("id")) OR aa_1=menu2("id") OR aa_2=menu2("id") OR aa_3=menu2("id") OR aa_4=menu2("id") OR aa_5=menu1("id") then
menu3 = "Select * FROM sider WHERE parentid="&menu2("id")&" order by rakkefolge ASC"
Set menu3 = Conn.Execute(menu3)
Do While Not menu3.EoF
if int(request("id"))=menu3("id") then
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;">&nbsp;&nbsp;&nbsp;<a href="default.asp?id=<%=menu3("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu3("navn")%></a></td>
      </tr>
      <%
else
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;">&nbsp;&nbsp;&nbsp;<a href="default.asp?id=<%=menu3("id")%>" style="color:#1E4161;"><%=menu3("navn")%></a></td>
      </tr>
      <%
end if
%>
<%
'Niveau 3 SLUT

'Niveau 4 Start

if menu3("id")=int(request("id")) OR aa_1=menu3("id") OR aa_2=menu3("id") OR aa_3=menu3("id") OR aa_4=menu3("id") OR aa_5=menu1("id") then
menu4 = "Select * FROM sider WHERE parentid="&menu3("id")&" order by rakkefolge ASC"
Set menu4 = Conn.Execute(menu4)
Do While Not menu4.EoF
if int(request("id"))=menu4("id") then
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="default.asp?id=<%=menu4("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu4("navn")%></a></td>
      </tr>
      <%
else
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="default.asp?id=<%=menu4("id")%>" style="color:#1E4161;"><%=menu4("navn")%></a></td>
      </tr>
      <%
end if
%>
<%
'Niveau 4 SLUT

'Niveau 5 Start

if menu4("id")=int(request("id")) OR aa_1=menu4("id") OR aa_2=menu4("id") OR aa_3=menu4("id") OR aa_4=menu4("id") OR aa_5=menu1("id") then
menu5 = "Select * FROM sider WHERE parentid="&menu4("id")&" order by rakkefolge ASC"
Set menu5 = Conn.Execute(menu5)
Do While Not menu5.EoF
if int(request("id"))=menu5("id") then
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="default.asp?id=<%=menu5("id")%>" style="color:#1E4161; font-weight:bold;"><%=menu5("navn")%></a></td>
      </tr>
      <%
else
%>
      <tr>
        <td style="height:18px; vertical-align:middle; padding-bottom:2px; padding-left:16px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="default.asp?id=<%=menu5("id")%>" style="color:#1E4161;"><%=menu5("navn")%></a></td>
      </tr>
      <%
end if
%>


<%
menu5.MoveNext
Loop
end if
%>

<%
menu4.MoveNext
Loop
end if
%>

<%
menu3.MoveNext
Loop
end if
%>

<%
menu2.MoveNext
Loop
end if
%>

<%
menu1.MoveNext
Loop
%>
    </table>
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