关于树形下拉框的问题。

凡夫与俗子 2009-07-28 02:32:48
有两张表,一张是新闻表,很简单,一张是无限分类的分类表。
在添加新闻的时候,新闻类型是分类表中获取数据的,用下拉框实现,现在想要把下拉框做成
树形结构,该怎么做?网上找了很多例子,都行不通。求教各位。
想要实现的效果是这样的:
爱车一族
品牌车友会
本土品牌
欧美品牌
汽车服务
改装服务
旅游天下
...

现在的下拉框是直接读出来,代码如下。
<td>新闻类型:</td><td><select name="nclass" onChange="changeselect1(this.value)" tabindex="5">
<option value="0">请选择新闻类型</option>
<%
set rs=server.CreateObject("adodb.recordset")
sql = "select * from class order by id"
rs.open sql,conn,1,1
if not (rs.eof or rs.bof) then
do while not rs.eof
if nclass = rs("id") then s = " selected " else s = ""
response.Write "<option value='"&rs("id")&"' "&s&">"&rs("title")&"</option>"&vblf
rs.movenext
loop
end if
rs.close
%>
</select></td></tr>
...全文
142 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
凡夫与俗子 2009-07-29
楼下还有得5分。
回复
datong2009 2009-07-29
帮你顶,顺便MARK
回复
toury 2009-07-29
[Quote=引用 6 楼 zxdldh007 的回复:]
老大,老衲等你一天了。刚我自己的死循环了,崩溃,网页响应不了,改了代码还是一样。要怎么弄的,重启?
你的我在研究。
[/Quote]
崩溃是严重正常的,递归就是容易死循环
同情下下
回复
凡夫与俗子 2009-07-29
老大,老衲等你一天了。刚我自己的死循环了,崩溃,网页响应不了,改了代码还是一样。要怎么弄的,重启?
你的我在研究。
回复
toury 2009-07-29

<%
sort(0)
dim ii
ii=0
sub sort(myid)'递归
sql="select * from 你的无限分类表 where 父类id字段 = "&myid&" order by autoID"
set rsLAONA=Conn.Execute(sql)
do while not rsLAONA.eof
if myid=0 then
'写你的HTML代码
'............
else
'写你的HTML代码,加符号等等
'............

end if
'写你的HTML代码
'.............
ii=ii+1
sort rsLAONA("你的序号ID字段")
ii=ii-1
rsLAONA.movenext
loop
rsLAONA.close
set rsLAONA= nothing
end sub


%>
回复
凡夫与俗子 2009-07-29
<%
action=request.QueryString("action")
set rs=server.CreateObject("adodb.recordset")
sql1="select * from class order by id"
rs.open sql1,conn,1,1
pid=rs("pid")
rs.close
set rs=nothing
%>

.....

<select name="nclass" onChange="changeselect1(this.value)" tabindex="5">
<option value="0">请选择新闻类型</option>

<%
num=0
call selectlist(0,num)
sub selectlist(pid,num)
if num <0 then num=0
set rs=server.CreateObject("adodb.recordset")
sql="select * from class where pid=" & pid '35行 这里报错
'response.Write sql
rs.open sql,conn,1,1
while not rs.eof
%>
<option value="<%=rs("id")%>"><%=string(num*2,"-")%><%=rs("title")%></option>
<%

call selectlist(rs("id"),num+1)
num=num-1
rs.movenext

wend
rs.close
set rs=nothing

end sub
%>
</select>

求助,循环只读第一个,下面的就不循环了,哪有错?(查看源文件里报错里报 错误 '80020009',行35),但看不错误啊。Pid和id是同一张分类表里,无限分类的。
回复
凡夫与俗子 2009-07-28
该怎么写呢?一直google百度,一直无果。
下拉框里判断有几层父类,则用多少空格缩进显示。大侠们,快来帮下小弟啊。
回复
郭大侠_ 2009-07-28
无限分类的分类表?
得写个递归过程实现,还得记录当前节点是第几层
回复
凡夫与俗子 2009-07-28
怎么就没人呢。自己顶
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告