<%
function menu(id)
menuid=Session("MenuID")
set rs=server.CreateObject("adodb.recordset")
sql="select * from menu where id1="&id&" order by url,id"
rs.open sql,cnn,1,1
response.write("<table border='0' cellspacing='0' cellpadding='0'>"&chr(13))
i=1
while not rs.eof
ChildCount=cnn.execute("select count(*) from menu where id1="&rs("id"))(0)
if ChildCount=0 then
if i=rs.recordcount then
menutype="file1"
else
menutype="file"
end if
menuname="<a href='"&rs("url")&"' target='mainright'>"&rs("menuname")&"</a>"
onmouseup=""
else
if i=rs.recordcount then
menutype="menu3"
listtype="list1"
onmouseup=" onMouseUp=change1('a"&rs("id")&"','b"&rs("id")&"');"
else
menutype="menu1"
listtype="list"
onmouseup=" onMouseUp=change2('a"&rs("id")&"','b"&rs("id")&"');"
end if
menuname=rs("menuname")
end if
Response.Write("<tr><td id='b"&rs("id")&"' class='"&menutype&"'"&onmouseup&">"&menuname&"</td></tr>"&chr(13))
if ChildCount>0 then
Response.Write("<tr id='a"&rs("id")&"' style='display:none'><td class='"&listtype&"'>"&chr(13))
menu(rs("id"))
Response.Write("</td></tr>"&chr(13))
end if
rs.movenext
i=i+1
wend
response.write("</table>"&chr(13))
rs.close
set rs=nothing
end function
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无限级目录树</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script language="javascript" src="function.js"></script>
</head>
<body background="images/left_bg_829.gif">
<%
menu 0
cnn.close
set cnn=nothing
%>
</body>
</html>
模块表结构:
id是自动,id1是父ID
menu表
id id1 menuname url
1 0 aa a.asp
2 0 bb b.asp
3 1 cc
4 2 dd
5 1 ee
权限控制:
表power
另一权限表
id name menuid
1 超管组 1,2,3,4,5
2 新闻管组 2,3,5