本文讲述ASP无限级分类,较简单的一个页面,类似csdn论坛,请注意分割参数。
比较简单的一个页面,类似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下测试通过 .
更多的asp无限级分类请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2008-7-13