Skriv menuloops på skærmen
Jeg sidder og bikser med lidt kode jeg har fundet på eksperten, et rekursivt kald i databasen.Jeg skal bruge det til en menu som godt vil have tingene skrevet ud på nedenstående måde, mit problem er, at jeg ikke kan få placeret nogle \"countere\" i level variabelen som selv holder øje med hvor mange levels den er nået igennem, og hvornår den skal starte forfra igen, har du tid til at hjælpe med det ?
databasen er bygget med et id, menupunkt,ref
menu 1
menu 1_1
menu 1_2
menu 1_3
menu 2
menu 2_1
menu 2_2
menu 3
menu 3_1
menu 3_2
menu 3_3
menu 3_4
menu 3_5
menu 3_5_1
menu 3_5_2
menu 3_5_3
menu 3_5_3_1
menu 3_5_3_2
menu 3_5_3_3
menu_3_5_3_3_1
menu_3_5_3_3_2
menu_3_5_3_3_3
menu_3_5_3_3_3_1
<%
Set Conn=Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"menu.mdb\")
SQL=\"select * from menu where ref=0\" & \" ORDER BY ID\"
Set MainRS=Conn.Execute(SQL)
do while not MainRs.Eof
response.write \"menu\" & level & \" \" & MainRs(\"menupunkt\") & \" <br>\"
Call ShowReplies(MainRS(\"id\"),conn)
MainRs.movenext
Loop
Mainrs.close
conn.Close
set mainrs=nothing
set conn=nothing
Function ShowReplies(id, conn)
SQL = \"select * FROM menu where ref=\" & id & \" order by ID\"
Set RS=Conn.Execute(sql)
If not rs.eof then
do while not rs.eof
response.write \"menu\" & level & \" \" & rs(\"menupunkt\") & \" <br>\"
Call ShowReplies(rs(\"id\"),conn)
rs.movenext
loop
response.write \"<br>\"
End if
rs.close
set rs=nothing
End Function
%>
