如何遍历这个数据库

new21cn 2009-06-15 04:49:21
数据库设计如下

ID(自增) Name(名字) ParentID(父级ID)

1 张三 0
2 李四 0
3 王二 1
4 赵六 1
5 吴 3
6 黄 3
7 郑 4
8 刘 3
9 孟 8



通过一段代码遍历这个数据表,父级ID表示其上一级ID,当访问张三的时候,希望显示其子集,效果如下:

效果一,要求遍历所有子集,最深10层:
张三 - | - 王二 - | - 吴
| | - 黄
| | - 刘 - | - 孟
| - 赵六 - | - 郑

效果二,只显示到第二层,但是要显示10层以内总共子集数目:

张三 - | - 王二 (4)
| - 赵六 (1)
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Megan2008 2009-06-15
  • 打赏
  • 举报
回复
oracle中直接就有这样的层次查询语句可以实现的
start with...connect by
new21cn 2009-06-15
  • 打赏
  • 举报
回复
首先声明,本人不做传销,只是今天老师说到这个例子,很感兴趣!

所以你们如果会呢,就回答,不会呢,就不必发表你的意见。

即使传销非法,但程序不违法,这里只是讨论技术学习的地方!

技术不过关的,不要在这里装!谢谢!

继续求解!

<%
function bianli(path)
dim fso 'fso对象
dim objFolder '文件夹对象
dim objSubFolders '子文件夹集合
dim objSubFolder '子文件夹对象
dim objFiles '文件集合
dim objFile '文件对象

set fso=server.CreateObject("scripting.filesystemobject")
on error resume next
set objFolder=fso.GetFolder(path)'创建文件夹对象
set objSubFolders=objFolder.Subfolders'创建的子文件夹对象
for each objSubFolder in objSubFolders
nowpath=path + "\" + objSubFolder.name
Response.Write nowpath
set objFiles=objSubFolder.Files
for each objFile in objFiles
Response.Write "<br>---"
Response.Write objFile.name
next
Response.Write "<p>"
bianli(nowpath) '调用递归
next
set objFolder=nothing
set objSubFolders=nothing
set fso=nothing
end function

bianli("d:") '调用bianli()函数,这里是遍历d:盘
%>



这个好用
VCkid 2009-06-15
  • 打赏
  • 举报
回复
你是做传销的吧
new21cn 2009-06-15
  • 打赏
  • 举报
回复
不动递归

就是遍历一个集合

很多,包括你的windows目录
郭大侠_ 2009-06-15
  • 打赏
  • 举报
回复
用递归

传销网络?

28,391

社区成员

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

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