另:
我asp的源码如下:
level=1
sub showcolumn()
sql="select * from cmec_column where column_father=0  order by column_id"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
'response.write "<tr bgcolor='#f7f7f7'><td height='25'>直属类别</td><td height='25' align='center'>"
'   response.write "修改"
' response.write "</td><td height='25' align='center'>"
' response.write "删除"
' response.write "</td></tr>"

do while not rs.eof
  response.write "<tr bgcolor='#f7f7f7'><td height='25'>"&showlevel&rs("column_cname")&"</td><td height='25' align='center'>"
response.write "<i>修改</i>"
response.write "</td><td height='25' align='center'>"
response.write "<span >删除</span>"
response.write "</td></tr>"
if haschild(rs("column_id")) then
level=level+2
showsubcolumn rs("column_id")
end if
rs.movenext
loop
set rs=nothing
end sub
sub showsubcolumn(cls_id)
sql="select * from cmec_column where column_father="&cls_id&" order by column_id"
set rs2=server.createobject("adodb.recordset")
rs2.open sql,conn,1,1
do while not rs2.eof
response.write "<tr bgcolor='#F9F9Fa'><td height='25'>"&showlevel&rs2("column_cname")&"</td><td height='25' align='center'>"
response.write "<a  href=""admin_column_modi.asp?column_id="&rs2("column_id")&""">修改</a>"
response.write "</td><td <td height='25' align='center'>"
response.write "<span style='cursor:hand'  onclick=""javascript:dele('"&rs2("column_id")&"')"">删除</span>"
    response.write "</td></tr>"
if haschild(rs2("column_id")) then
level=level+2
showsubcolumn rs2("column_id") 
end if
rs2.movenext
loop
level=level-2
set rs2=nothing
end sub
function haschild(cls_id)
sql="select * from cmec_column where column_father="&cls_id&" "
set rs1=server.createobject("adodb.recordset")
rs1.open sql,conn,1,1
if rs1.eof then
haschild=false
else
haschild=true
end if
rs1.close
set rs1=nothing
end function
function showlevel()
showlevel=""
for i=3 to level
if i=level and i<>1 then
showlevel=showlevel&"└ "
else
showlevel=showlevel&" "
end if
nextend function
%>