送分:关于数据库中的数据在前台显示的问题,敬请高手指教

yihis 2001-12-18 11:03:23
SQL SERVER中一个表,有三个字段(id,name,fatherId),其中fatherId指向本表中的id,其中有一个记录没有父节点(即它是根节点),我现在想把这个表采用可折叠树形结构来显示,应当如何处理?敬请高手指教。(事先并不知道树的宽度和高度)
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
aqide 2002-01-09
  • 打赏
  • 举报
回复
rs1是否被定义为全局变量?逻辑上没有错误。
yihis 2001-12-30
  • 打赏
  • 举报
回复
能给出具体例子吗?我写了一个递归调用函数,可是只能循环出第一枝,大家看看:
<%
function tree(officeid)
sql="select * from officedb where officeparents='"&officeid&"'"
set rs1=conn.Execute(sql)
if rs1.bof or rs1.eof then
else
while rs1.eof=false
%>
<tr><td><input type="button" value=<%=rs1("officename")%> onclick="window.open('discdisp.asp?officeid=<%=rs1("officeid")%>','discdisp','width=640,height=480,toolbar=no,menubar=no')"></td>
<td>
<table>
<%
tree(rs1("officeid"))
%>
</table>
</td></tr>
<%
rs1.movenext
wend
end if
end function
%>
有什么逻辑问题吗?
silentlamb 2001-12-21
  • 打赏
  • 举报
回复
通常可以用递归实现,也就是先选出根节点,再select * from table where fatherID=根节点id,对其中每个节点递归调用,直到无下层纪录。不过如果递归层次多了效率会很低的
yihis 2001-12-21
  • 打赏
  • 举报
回复
没人回答吗?
silentlamb 2001-12-21
  • 打赏
  • 举报
回复
另外不知道你的树型结构到底有多大?如果节点数在200以内,一次生成树很方便,如果节点数很多或层次很深,最好是用到哪里生成到哪里。参考一下msdn的方式(它那个使用了xml作为数据源,同样也可以用recordset作为数据源)
三杯倒 2001-12-18
  • 打赏
  • 举报
回复
1111

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧