归递的显示问题,马上结帖!!!!!!!!!!!!!!!!!!!!!
表结构如下:
+-----------+-----------+-----------+-----------+----------+
| 字段名 | 字段含义 | 字段类型 | 字段大小 | 字段属性 |
+-----------+-----------+-----------+-----------+----------+
| PowerID | 权限ID | Int | 4 | PK |
| PowerName | 权限名 | Varchar | 50 | Not Null |
| PowerInfo | 权限信息 | Varchar | 500 | |
| BelongID | 隶属ID | Int | 4 | |
+-----------+-----------+-----------+-----------+----------+
<%
'数据库连接
set conn=Server.CreateObject("ADODB.Connection")
conn.open "driver={SQL Server};server=chaiwei;DATABASE=chaiwei;UID=sa;PWD="
'打开所有父层数据
set rs=Server.CreateObject("ADODB.Recordset")
rs.Open "select * from powers where belongid is null order by powerid",conn,1,3
'列表主程序段
do while not rs.eof
'打印父层数据信息
Response.write "<option values='"&rs("PowerID")&"'>"&rs("PowerName")&"</option>"
'子程序调用,子层数据处理
Call ListSubPower(rs("powerid"))
rs.movenext
loop
'关闭父层数据集
rs.close
set rs=nothing
'调用过程--------------------------------------------------------------
Sub ListSubPower(id)
'打开隶属于上层 powerid 的所有子层数据信息
set rs_sub=Server.CreateObject("ADODB.Recordset")
rs_sub.Open "select * from powers where belongid=" & id & " order by powerid",conn,1,3
'列子层数据
do while not rs_sub.eof
'打印子层数据信息
Response.write "<option values='"&rs("PowerID")&"'>"&rs("PowerName")&"</option>"
'递归调用子程序本身,对子层数据进行逐渐处理
ListSubPower(rs_sub("powerid"))
rs_sub.movenext
loop
'关闭子层数据集
rs_sub.close
set rs_sub=nothing
End Sub
在select里如何显示结构为
部门1
部门1下属部门a
部门人员
部门1下属部门b
部门2
也就是说如何将输出的结果以树形显示!!