dreamweaver 动态建树的问题
根据编码级别动态得从数据库生成一棵树
请问那里有此类的源代码可以参考
推荐阅读
仿照csdn左面的菜单的asp+数据库无限级树菜单代码分享
近来问无限级数据库树菜单人很多,我就自己做了一个仿照csdn左面的菜单,自己暂时不用,完全是给大家分享的,要数据库和代码文件请到www.ymdg.com/tree.rar下载,如果有人提供空间存放那是最好了。
本文完全采用大家熟悉的asp制作,过写日子我再写一个基于xml技术的给大家。
qq:28963147,email:panyuguang962@sohu.com
感谢csdn和全体网友!
说明:
access数据库
● 数据库名:tree
● 表名:tree
● 字段名的设计
id 文本类型 编码
name 文本类型 节点文字
hyperlink 文本类型 相关信息
---------------------------------------------------
id | name | hyperlink
---------------------------------------------------
1_1_1 | asp | http://www.csdn.net
---------------------------------------------------
1_1_1_1 | dhtml | http://www.csdn.net
---------------------------------------------------
1_2_2 | java | http://www.csdn.net
---------------------------------------------------
1_1_2 | javascript | http://www.csdn.net
---------------------------------------------------
1_2_1 | vb | http://www.csdn.net
---------------------------------------------------
1_2_1_2 | vba | http://www.csdn.net
---------------------------------------------------
1_1 | web开发 | http://www.csdn.net
---------------------------------------------------
1 | www.csdn.net | http://www.csdn.net
---------------------------------------------------
1_2_1_1 | 基础类 | http://www.csdn.net
---------------------------------------------------
1_3_1 | 基础类 | http://www.csdn.net
---------------------------------------------------
1_2 | 开发语言 | http://www.csdn.net
---------------------------------------------------
1_1_1_2 | 内建对象 | http://www.csdn.net
---------------------------------------------------
1_3 | 数据库 | http://www.csdn.net
----------------------------------------------------
文件:nolimited.asp经简单测试好用!代码如下:
<html>
<head>
<meta name=vi60_defaultclientscript content=vbscript>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>asp树的研究</title>
</head>
<style type="text/css">
<!--
.aa {
font-size: 14px;
color: #000000;
text-align: center;
vertical-align: middle;
letter-spacing: 0px;
word-spacing: 0px;
}
-->
</style>
<body bgcolor="dee3f7">
<%
dim cn,rs,sql ,para,numchild
set cn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.recordset")
set rs1=server.createobject("adodb.recordset")
cn.open "driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("tree.mdb")
sql="select * from tree order by id"
rs.open sql,cn,3,2
do while not rs.eof
sql="select id from tree where id like " & rs("id") & "% and id<>" & rs("id") & " order by id"
para=rs("id") & "|"
numchild=0
rs1.open sql,cn, 3,2
numchild=rs1.recordcount
do while not rs1.eof
para =para & rs1("id") & "|"
rs1.movenext
loop
para=cstr(trim(left(para,len(para)-1)))
rs1.close
%>
<table id="t<%=rs("id")%>"
border=1
cellpadding=0
cellspacing=0
bordercolor="#dee3f7"
class="aa"
abbr="<%=para%>"
summary=<%=checkid(rs("id"))%>
style="cursor:hand"
onclick="vbs:subtree <%=para%>" >
<tr>
<td width="<%=17+checkid(rs("id"))*20%>"
height="20" align="right">
<table width="20" height="20" border="1" cellpadding="0" cellspacing="0" bordercolor="#dee3f7">
<tr>
<td align="center" valign="middle" bordercolor="#000000" id="r<%=rs("id")%>" ><%if numchild=0 then response.write "." else response.write "-"%></td>
</tr>
</table>
</td>
<td height="20"
nowrap
bordercolor="#ffffff"
onmouseover="vbs:me.bgcolor=#cccccc:me.bordercolor=#999999"
onmouseout="vbs:me.bgcolor=#dee3f7:me.bordercolor=#ffffff"
title="<%=rs("hyperlink")%>">
<%=rs("name")%></td>
</tr>
</table>
<%
rs.movenext
loop
rs.close:set rs=nothing
cn.close:set cn=nothing
function checkid(x)
dim tempnum
tempnum=0
for i=1 to len(x)
if mid(x,i,1)="_" then
tempnum=tempnum+1
end if
next
checkid=tempnum
end function
%>
<script language=vbs>
sub subtree(client_para)
if instr(client_para,"|")=0 then exit sub
myarray=split(client_para,"|")
mytext=eval("r" & myarray(0) & ".innertext")
select case mytext
case "+"
document.all.item("r" & myarray(0)).innertext="-"
for i=1 to ubound(myarray)
if eval("t" & myarray(i) & ".summary")-eval("t" & myarray(0) & ".summary")=1 then
document.all.item("t" & myarray(i)).style.display="block"
end if
if eval("t" & myarray(i) & ".summary")-eval("t" & myarray(0) & ".summary")>1 then
document.all.item("t" & myarray(i)).style.display="none"
end if
next
case "-"
document.all.item("r" & myarray(0)).innertext="+"
for i=1 to ubound(myarray)
if eval("t" & myarray(i) & ".summary")-eval("t" & myarray(0) & ".summary")>=1 then
document.all.item("t" & myarray(i)).style.display="none"
if eval("r" & myarray(i) & ".innertext")="-" then
document.all.item("r" & myarray(i)).innertext="+"
end if
end if
next
end select
set myarray=nothing
end sub
sub document_onselectstart
document.selection.clear
end sub
if isobject(eval("t1")) then
subtree document.all("t1").abbr
subtree document.all("t1").abbr
end if
</script>
</html>


讨论区