asp 无限分类 数据读取

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:48:53
现有数据表class 字段
ID Name ParentID level

自动编号 类别名 类别所属ID 第N类

如果我现在有 ID为1 名字为 一级新闻 ParentID 为0(等于是一级栏目)level 为1
ID为2 名字为 二级新闻 ParentID 为1(等于属于这个1级栏目)level 为2

如何 读出他们 显示在页面上呢?

在线等回答!!
谢谢1楼的,我自己来测试下! 读出的是 1类栏目!
sql="select ParentID,name from tb_PClass where ParentID in (select id from tb_PClass where parentid=0)
这样写 可以读出 2类栏目,两个结合起来 可以使用不?

Set Rs = Server.CreatObject("Adodb.RecordSet")
Sql = "Select * From Class Where ParentID = 0"
Rs.Open Sql,Conn,1,1
While Not Rs.Eof
Response.Write Rs("Name")
ShowSubClass(Rs("ID"))
Rs.MoveNext
Wend
Rs.Close
Set Rs=Nothing

Function ShowSubClass(ClassID)
Set Rss = Server.CreatObject("Adodb.RecordSet")
Sql1 = "Select * From Class Where ParentID = "&ClassID&""
Rss.Open Sql1,Conn,1,1
While Not Rss.Eof
Response.Write Rss("Name")
ShowSubClass(Rss("ID"))
Rss.MoveNext
Wend
Rss.Close
Set Rss=Nothing
End Function

没有测试,原理就是使用归递调用自己循环执行,如果有子类就循环下去,如果没有就结束