比较简单的一个页面,类似csdn论坛在ns下的左边列表
描述:
1.
数据名:tree.mdb
表名:tree
表结构:id(自编) pid(数字) content(文本) link(文本)
2.
图片:endnode.gif collapsed.gif back.gif(均在img目录下,可自行修改)
3.
代码:
<!--#include file="conn.inc"--> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <META NAME="GENERATOR" Content="Microsoft FrontPage 4.0"> <TITLE>无限级列表</TITLE> <!-- by fason(2003-5-12) --> <style> .node{ font-size:12px; padding:0 0 2 0; margin-left:10; height:22px; } img{ vertical-align:middle; width:11px; height:11px; } a{text-decoration:none;font-size:12px;color:black} .deeptree{ width:100%; height:100%; backgound-color:#f2f2f2; overflow:auto; }
</style> </HEAD> <BODY bgcolor=#f2f2f2> <nobr> <div class="deeptree"> <% newid=Request.QueryString("id") if newid="" or CInt(newid)<0 then newid=0 if isNumeric(newid) then listTree(CInt(newid)) end if
function listTree(id) dim rs dim imgFolder,imgFile dim link,href,parentHref dim target,ahref,click target="main" '所指定的框架名 imgFolder="img/" '默认路径 set rs=conn.execute("select *,(select count(*) from tree where pid = T.id) as children,(select pid from tree where id="&id&") as parent from tree T where pid="&id) if not rs.eof then parentHref=Request.ServerVariables("URL")&"?id="&rs("parent") if id<>0 then Response.Write "<div class='node' nowrap=true><a href='"&parentHref&"' onfocus='blur()'><img src='"&imgFolder&"back.gif' border=0></a> <a href='"&parentHref&"'>上一级目录</a></div>"&VbCrLf do while not rs.eof if rs("children")>0 then img=imgFolder+"collapsed.gif" href=Request.ServerVariables("URL")&"?id="&rs("id") click="onclick=""location.href='"&href&"'""" else img=imgFolder+"endnode.gif" href="javascript:void(0)" end if if not isNull(rs("link")) then ahref=rs("link") else ahref="javascript:void(0)" target="_self" end if link="<a href='"&ahref&"' target='"&target&"' title='"&rs("content")&"' "&click&">"&rs("content")&"</a>" Response.Write "<div class='node' nowrap=true><a href='"&href&"' onfocus='blur()'><img src='"&img&"' border=0></a> "&link&"</div>" rs.movenext loop rs.close:set rs=nothing end if end function conn.close:set conn=nothing %>
</div> </nobr> </BODY> </HTML>
conn.inc:
<% dim conn set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("tree.mdb") & ";Persist Security Info=False" %>
4.测试:ie6,ns7,mozilla下测试通过
原理比较简单,有错请大家指正,谢谢

|