ASP无限分类数据库版

61 篇文章 0 订阅
数据库Access,字段:ClassID(主键),ParentClassID,ClassName,3个字段都是文本型。
< !DOCTYPE html  PUBLIC   " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " >
    
< head >
        
< title > ASP无限分类数据库版 </ title >
        
< meta http - equiv = " Content-Type "  content = " text/html; charset=gb2312 "   />
        
< meta name = " Generator "  content = " EditPlus " >
        
< meta name = " Author "  content = " Dicky;QQ:25941 " >
        
< meta name = " Keywords "  content = " Dicky;QQ:25941;ASP无限分类数据库版 " >
        
< meta name = " Description "  content = " Dicky;QQ:25941;ASP无限分类数据库版 " >
    
</ head >

    
< body >
        
< %
        
Const  IsSql  =   0      ' 定义数据库类型,1为SQL Server,0为Access
         Function  OpenConn(Conn)      ' 打开数据库连接
             Dim  ConnStr 
            
If  IsSql  =   1   Then   ' 如果是SQL Server数据库 
                 ' SQL Server数据库连接参数:用户名、用户密码、数据库名、连接名(本地用local,外地用IP) 
                 Dim  SqlUsername,SqlPassword,SqlDatabaseName,SqlLocalName 
                SqlUsername 
=   " sa "  
                SqlPassword 
=   ""  
                SqlDatabaseName 
=   " TreeDb "  
                SqlLocalName 
=   " (local) "  
                ConnStr 
=   " Provider = Sqloledb; User ID =  "   &  SqlUsername  &   " ; Password =  "   &  SqlPassword  &   " ; Initial Catalog =  "   &  SqlDatabaseName  &   " ; Data Source =  "   &  SqlLocalName  &   " ; "  
            
Else    ' 如果是Access数据库 
                 Dim  Db 
                
' 第一次使用请修改本处数据库地址并相应修改数据库名称,如将Dicky.mdb修改为Dicky.asp(防止恶意下载Access数据库) 
                Db  =   " TreeDB.mdb "  
                ConnStr 
=   " Provider = Microsoft.Jet.OLEDB.4.0;Data Source =  "   &  Server.MapPath(Db)
            
End   If  
            
On   Error   Resume   Next  
            
Set  Conn  =  Server.CreateObject( " ADODB.Connection "
            Conn.Open ConnStr 
            
If  Err  Then  
        
'         Err.Clear 
                 Set  Conn  =   Nothing  
                Response.Write 
" 数据库连接出错,请检查连接字串。 "  
                Response.End 
            
End   If  
        
End Function

        
Function  CloseConn(Conn)   ' 关闭数据库连接 
             If   IsObject (Conn)  Then
                Conn.Close 
                
Set  Conn  =   Nothing
            
End   If
        
End Function

        
Function  Echo(Str)  ' 输出字符串并换行
            Response.Write Str  &  VbCrlf
        
End Function

        
Call  OpenConn(Conn)

        
' 定义第一级分类
         Sub  MainFl()
            
Dim  Rs
            
Set  Rs  =  Conn.Execute( " SELECT ClassID,ClassName FROM Class WHERE ParentClassID IS NULL " )
            
If   Not  Rs.Eof  Then
                
Do   While   Not  Rs.Eof
                    Echo(
" <div><label id="" "   &   Trim (Rs( " ClassID " ))  &   " "">+ "   &   Trim (Rs( " ClassName " ))  &   " </label> " )
                    
Call  Subfl(Rs( " ClassID " ), " |- " ' 循环子级分类
                    Echo( " </div> " )
                Rs.MoveNext
                
If  Rs.Eof  Then   Exit   Do   ' 防上造成死循环
                 Loop
            
End   If
            
Set  Rs  =   Nothing
        
End Sub
        
' 定义子级分类
         Sub  SubFl(FID,StrDis)
            
Dim  Rs1
            
Set  Rs1  =  Conn.Execute( " SELECT ClassID,ClassName FROM Class WHERE ParentClassID = ' "   &  FID  &   " ' " )
            
If   Not  Rs1.Eof  Then
                
Do   While   Not  Rs1.Eof
                    Echo(
"     <div id="" "   &   Trim (Rs1( " ClassID " ))  &   " ""> "   &  StrDis  &   Trim (Rs1( " ClassName " ))  &   " </div> " )
                    
Call  SubFl( Trim (Rs1( " ClassID " )), " "   &  Strdis)  ' 递归子级分类
                Rs1.Movenext: Loop
                
If  Rs1.Eof  Then
                    Rs1.Close
                    
Exit   Sub
                
End   If
            
End   If
            
Set  Rs1  =   Nothing
        
End Sub

        
' 最后直接调用MainFl()就行了

        MainFl()

        
Call  CloseConn(Conn)% >
    
</ body >
</ html >
系统支持无限分类、采集、生成静态HTML、ajax 自定义表单 系统标签说明: 的标签结构形如(ror标签): #{…/} 或 #{…}***{/} 内嵌标签: 标签: ##.../# 如同#{…/} 在#{…/}中使用 字段值:[$$$/] 其中 … 是标签参数 ***是循环调用的模块 $$$是字段名 具体标签及说明如下: 1、#{host fieldname=hostname/} 说明: 系统参数: 网站名称: fieldname=hostname 关键字: fieldname=hostkey 虚拟目录: fieldname=hosturl 2、#{param=classname/} 说明: 访问页面的各种通用参数: 栏目名称: param=classname 文档名称: param=title URL参数: param=*** 特别说明: 当栏目类型为单页面时,调用单页面内容使用param=content 3、#{ position /} 说明:当前位置 4、#{ menu /} Top: 显示数量,默认为10 Menutype: 菜单属性,默认顶级栏目菜单 Top:顶级栏目菜单 Self:同级栏目菜单 Sun:下级栏目菜单 Typelink: 相应栏目的链接地址 5、#{clalist …/} 或 #{clalist …}***{/} 说明:部分栏目文档列表(没有分页) Top: 读取的文档数目,默认10 Titlelen: 标题显示长度,默认30 Showtitle: 鼠标悬停时是否显示完整标题,默认不显示 Orderby: 排序字段,默认id(当order为rnd时可以不设置) Order: 顺序,默认降序(升序:asc 降序:desc 随机:rnd ) Classid: 所属栏目(0和all都表示所有栏目) all:按栏目显示相应数目的文档 0: 不按栏目显示相应数目的文档 clacol: 循环块列数 artcol: 文档列表列数 clastyle: 每个循环块的样式 artstyle: 每个循环块中文档列表区域的样式 Maxlen: 各个字段的最大显示长度,默认100 Textlink: 形如:*** Typelink: 相应文档的链接地址(…) Imglink: 形如: Imgheight:图片高度 Imgwidth:图片宽度 Arttype: 文档属性 Image: 图片 Slide: 幻灯 Roll: 滚动 Common: 普通 Good: 推荐 #{clalist …/}:不用设置***,系统默认为textlink 嵌套标签:{class}…[classtext/] [classlink/]…{/class} 说明:classtext 栏目名 classlink 栏目链接 6、#{artlist …/} 或 #{artlist …}***{/} 说明:全部栏目文档列表(有分页)属性类似于clalist 没有Showclass及设置其属性的各种标签 Pagelist:分页列表 Search:搜索页使用标签,关键字自定义字段值,默认为key 7、#{art_view}***{/} 说明:文档显示页标签 可以显示文档的各个字段值,如:title,hits,content,ctime等 #{Prenext/}:显示上一篇、下一篇 8、#{pl }***{/} 9、#{book }***{/} 更多、更详细的标签自己在使用中来发现哦!~~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值