虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > ASP编程 > ASP编程无限级分类加js收缩伸展功能代码

ASP编程无限级分类加js收缩伸展功能代码
类别:ASP编程   作者:码皇   来源:互联网   点击:

为了方便使用分类,我定义了一个分类表category,里面字段是id(自动编号) cat_name(分类名) parent_id(父ID,对应本表ID) cat_order(顺序) is_show(是否显示) u_id(这个用来区别是新闻分类,还是产品分类,还是其他 ,魔客吧

为了方便使用分类,我定义了一个分类表category,里面字段是
id(自动编号) cat_name(分类名) parent_id(父ID,对应本表ID) cat_order(顺序) is_show(是否显示) u_id(这个用来区别是新闻分类,还是产品分类,还是其他分类),为了方便,我将这些分类全部放在这张表中。
在给客户添加分类的时候,结果有太多的分类,本来前台显示的时候,将它们全部显示出来了,好长。客户提出修改意见,要求将它们改成点击大分类,才可以将其子分类显示出来,并且每个分类下面还有一条虚线,并且大分类前面有个图片加号,展开后要变成减号。

这是ASP编程无限级显示分类代码,并给这些分类加上id

<%
'功能:ASP编程无限级显示分类+js显示与隐藏
'作者:wangsdong
'开发:www.ASP编程program.cn
'参数:parent_id为父ID,stype为新闻,产品,文章大分类
'原创文章,转载请保留些信息,谢谢
function cat111(parent_id,stype)
set rs1 =server.createobject("adodb.recordset")
sql="select cat_name,cat_id,parent_id from category where parent_id="&parent_id&" and u_id="&stype&" and is_show=1 order by cat_order asc"
set rs1=conn.execute(sql)
If rs1.eof Then
Else
if(depath>2) then
display2="none"
else
display2="block"
end if
dim j
j=1
do while not rs1.eof
cat_name1 = rs1("cat_name")
cat_id1 = rs1("cat_id")
parent_id1=rs1("parent_id")
'******************下面是你要显示的******************'
m9=0
sql2="select count(cat_id) as t from category where parent_id="&cat_id1&" and u_id="&stype&""
set rs2=server.createobject("adodb.recordset")
set rs2=conn.execute(sql2)
if not rs2.eof then
m9=rs2("t")
else
m9=0
end if
rs2.close

if(depath<=2) then
mgif="images/-.gif"
a="block"
else
if(m9>0) then
mgif="images/+.gif"
else
mgif="images/-.gif"
end if
if(depath=4) then
a="block"
else
a="none"
end if
end if


catstr=catstr & ""
if(m9>0) then
catstr=catstr&"" &vbnewline
else
catstr=catstr&""&vbnewline
end if
for i=1 to depath
catstr=catstr&" "
Next
catstr=catstr&cat_name1&""&vbnewline
m9=0

sql2="select cat_name,cat_id from category where parent_id="&parent_id1&" and u_id="&stype&" order by cat_order asc"
set rs2=server.createobject("adodb.recordset")
set rs2=conn.execute(sql2)
if not rs2.eof then
depath=depath+4
call cat111(cat_id1,stype)
end if
rs2.close
set rs2=nothing
depath=depath-4
'******************上面是你要显示的******************'
j=j+1
rs1.movenext
loop
End If
rs1.close
set rs1=nothing
end Function
%>
在使用这个函数之前加上
catstr=""
然后再call,下面的虚线加在css中的dotted_class里面,这样就搞定了。
注意:这里得到的是一个表格的行,要和其他行放在一起,不要加到td里面去了。

相关热词搜索: ASP编程无限级分类加js收缩伸展功能代码