写了一个无限极分类,调用类别的时候怎么都不对,求大神指点
asp吧
全部回复
仅看楼主
level 4
代码二楼
2012年05月28日 06点05分 1
level 4
Function class_tree(parentid,class_title)
Dim Rs_tree,Str
set rs_tree = server.CreateObject("adodb.recordset")
sql_tree="Select * From product_class Where id="&parentid
rs_tree.open sql_tree,conn,1,3
do while Not Rs_tree.Eof
Str= " > <a href=""?Parentid="&Rs_tree("Id")&""">" & Rs_tree("Title") & "</a>"
rs_tree.movenext
loop
Str = class_tree(rs_tree("id"))&Str
Rs_tree.Close
Set Rs_tree=Nothing
class_tree=Str
End Function

2012年05月28日 06点05分 2
level 4
想要这个样子的目录,不知道是不是循环除了问题,结果出来的的只有一级目录,是点击进去的最后一个目录
2012年05月28日 06点05分 3
level 13
不是两个参数吗?
2012年05月28日 12点05分 4
level 7
你数据库中应该有一个parentid字段吧,用于标识该分类的上级ID是多少,所以你的查询语句应该是
select * from product_class where id =$parentid
然后判断数据库中是否有该记录,再判断该条记录中parentid字段值是否为0,0则表示该分类是根分类了,退出循环,不为0则继续查询上级分类。
这条语句:
Str = class_tree(rs_tree("id"))&Str
就应该改成
Str = class_tree(rs_tree("parentid"))&Str
整个代码改完应该是这样子
Function class_tree(parentid)
Dim Rs_tree,Str,sql_tree
set rs_tree = server.CreateObject("adodb.recordset")
sql_tree="Select * From product_class Where id="&parentid
rs_tree.open sql_tree,adconn,1,3
if not Rs_tree.Eof then
Str= " > <a href=""?Parentid="&Rs_tree("Id")&""">" & Rs_tree("Title") & "</a>"
if Rs_tree("parentid") <>0 then Str = class_tree(rs_tree("parentid"))&Str
end if
Rs_tree.Close
Set Rs_tree=Nothing
class_tree=Str
End Function
2012年05月28日 16点05分 5
level 4
恩,我的查询语句是对的,为什么不能用do while 循环呢,你的我试了一下可以了
2012年05月29日 00点05分 6
level 13
递归函数里面还应该再调用自己
2014年11月05日 13点11分 9
1