不用递归实现树形结构

做一个论坛的树形结构显示,递归大家都知道,主要是效率问题,增加一个字段,这里是Level
http://www.156ok.com/article/article_list.asp?account_id=32


标题:不用递归实现树形结构
文章的关键字:
发布人:156ok 发布时间:2001-12-31 10:43:28
-----------------------------------------------------------------------
SunADM不用递归实现树形结构的一种方法

主要的技巧在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
by SunADM

转载于:https://www.cnblogs.com/Sonnenschein/archive/2004/12/24/81370.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值