ITPub博客

首页 > 应用开发 > IT综合 > 无限级分类(ASP) (转)

无限级分类(ASP) (转)

原创 IT综合 作者:amyz 时间:2007-11-07 17:47:57 0 删除 编辑
无限级分类(ASP) (转)[@more@]

比较简单的一个页面,类似csdn论坛在ns下的左边列表

描述:

1.

数据名:tree.mdb

表名:tree

表结构:id(自编)  pid(数字) content(文本) link(文本)

2.

图片:endnode.gif  collapsed.gif  back.gif(均在img目录下,可自行修改)

3.

代码:

<!--#include file="conn.inc"-->



microsoft FrontPage 4.0">
无限级列表
<!--
by fason(2003-5-12)
-->





<%
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 "

"&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=""&rs("content")&""
Response.Write "
"&link&"
"
rs.movenext
loop
rs.close:set rs=nothing
end if
end function
conn.close:set conn=nothing
%>





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下测试通过

原理比较简单,有错请大家指正,谢谢

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-981184/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3984
  • 访问量
    7364147