LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

ASP 无限级分类实现

admin
2010年7月13日 22:13 本文热度 5772
[p]该例子演示了无限级分类的显示和添加.只用一个数据表实现记录无限级分类,关键是每条记录都记录了上一层类别的id(parentid),然后通过一个递归函数来不断将类别显示出来. [br]*大类1 [br]└二级小类1 [br]└三级小类1 [br]└四级小类1 [br]└五级小类1 [br]*大类2 [br]└二级小类2 [br]*大类3 [br]数据库说明:数据库db.mdb,classtable表的结构:classid类别id(自动增长) parentid 父级id 默认为0 (0代表最高级) classname类别名,classdepth是为了记录类别的级数 ———————————————- [br]| classid| classname| parentid | classdepth | [br]———————————————- [br]主要代码: [br]//先取出最高级(parentid=0)的分类 [br]<% [br]set conn=server.createobject("adodb.connection") [br]conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("db.mdb") [br]set rs1=server.createobject("adodb.recordset") [br]sql1="select * from classtable where parentid=0 order by classid" [br]rs1.open sql1,conn,1,1 [br]if rs1.eof or rs1.bof then [br]response.write"还没分类!" [br]else [br]while not rs1.eof [br]id1=rs1("classid") [br]name1=rs1("classname") [br]response.write "*"&name1&"
" [br]parentid1=rs1("parentid") [br]call reclass(id1) [br]rs1.movenext [br]wend [br]end if [br]rs1.close [br]set rs1=nothing[/p]
[p]sub reclass(id) [br]'递归调用函数,生成一个类别代码 [br]set rs=server.createobject("adodb.recordset") [br]sql="select * from classtable where parentid="&id [br]rs.open sql,conn,1,1 [br]i=1 [br]while not rs.eof [br]id0=rs("classid") [br]classname0=rs("classname") [br]parentid0=rs("parentid") [br]classdepth0=rs("classdepth") [br]brstr="" [br]for j=1 to classdepth0 [br]brstr=" "&brstr [br]next [br]response.write(brstr&"└"&classname0&"
") [br]call reclass(id0) [br]rs.movenext [br]i=i+1 [br]wend [br]rs.close [br]set rs=nothing [br]end sub [br]if request("a")="add" then [br]call add [br]end if [br]if request("name")<>"" then [br]%> [br] [br]" method="post"> [br] [br] [br] [br] [br] [br] [br] [br] [br] [br] [br] [br] [br] [br]
添加小类
类别名:
[br]<%end if [br]sub add '添加类别 [br]id=request("id") [br]classname=request("classname") [br]set rs=server.createobject("adodb.recordset") [br]rs.open "select parentid,classdepth from classtable where classid="&id,conn,1,1 [br]parentid=rs(0) [br]classdepth=rs(1)+1 [br]rs.close [br]set rs=nothing [br]sql="insert into classtable (classname,parentid,classdepth) values ('"&classname&"',"&id&","&classdepth&")" [br]conn.execute sql [br]response.write"" [br]end sub [br]%>[/p]

该文章在 2010/7/13 22:13:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved