欢迎光临
我们一直在努力

不用递归实现树形结构的一种方法

建站超值云服务器,限时71元/月

不用递归实现树形结构的一种方法

主要的技巧在level(帖子回复深度)的操作上

sunadm 于 2000.07.26
____________________________________________
演示表的结构
____________________________________________

表名:bbs

字段 数据类型 说明
id 自动编号  
rootid int 根帖id,本身为根帖则rootid = id
fid int 父帖id,上一层帖子的id,如是根帖则fid = null
level smallint 根帖level=0,其他依据回复的深度递增
subject char 主题

____________________________________________
sql 语句(须据此创建记录集 rs):
____________________________________________

select *
from bbs
order by bbs.rootid desc, bbs.level, bbs.fid, bbs.[id] desc
____________________________________________
显示树形结构的有关语句:
____________________________________________

level = 0

response.write "<ul>"

while not rs.eof

    if rs("level") < level then
        for i = 1 to level-1
            response.write "</ul>"
        next
    end if

    if rs("level") > level then
        response.write "<ul>"
    end if
    response.write "<li>" & rs("subject") & "</li>"

    level = rs("level")
    rs.movenext

wend

response.write "</ul>"
__________________________________________________________
后记:原来我一直用递归做这事,因为觉得主要的速度瓶颈该是在
分页上面,所以一直……呵呵!直到今天廖家远当头棒喝……
希望对大家有所帮助(扔几块玉过来吧!准备好了几个麻袋等着那!:p)
last modified 2k-07-26 13:14

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 不用递归实现树形结构的一种方法
分享到: 更多 (0)