主题:  树形递归

端木

职务:普通成员
等级:1
金币:0.0
发贴:4
#12004/4/12 12:06:33
我已经写出递归过程了,请问过程应给写在什莫位置执行:
sub TreeMenu(updeptid) '建立记录集
    dim rs
    set rs=server.CreateObject("adodb.recordset")
    dim strSQL
    strSQL="select * from sys_dept where up_dept_id=" & updeptid & " order by show_order"
    rs.open strSQL,conn,1,1
    response.write updeptid& "<br>"
    while not rs.eof
        response.write rs("name") & "<br>"
        treemenu rs("dept_id")
    rs.movenext
    wend
    rs.close
    set rs=nothing
end sub
-->
</script>

treemenu("0")应该放在什莫位置????
<body onload="treemenu("0")">
.....
</body>
没有效果阿
各位,快帮帮忙吧

编辑历史:[此帖最近一次被 allinhands 编辑过(编辑时间:2004-04-12 12:24:06)]


=ridincal=

职务:管理员
等级:7
金币:20.0
发贴:5886
#22004/4/12 12:25:40
建议楼上的这位朋友先把客户端和服务端的概念搞清楚了



端木

职务:普通成员
等级:1
金币:0.0
发贴:4
#32004/4/12 14:57:55
呵呵,我已经搞定了j
都用<%%>括起来就好了



端木

职务:普通成员
等级:1
金币:0.0
发贴:4
#42004/4/12 14:58:58
<!--#include file="conn.asp"-->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<%
sub TreeMenu(updeptid)
    if updeptid="" then
        updeptid=0
    end if
    dim rs
    set rs=server.CreateObject("adodb.recordset")
    dim strSQL
    strSQL="select * from sys_dept where up_dept_id=" & updeptid & " order by show_order"     
    rs.open strSQL,conn,1,1
    while not rs.eof
        response.write rs("name") & "<br>"
        treemenu rs("dept_id")
    rs.movenext
    wend
    rs.close
    set rs=nothing
end sub
%>
</head>

<body>
<% TreeMenu("0")%>
</body>
</html>
不过怎莫控制每一级相对于上一级的缩进呢???



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#52004/4/12 15:25:38
你可以再给过程加一个表示层级的参数,如 level
首次调用时为0,递归调用时用level+1传入,缩进则可用 string(level*2," ")