| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1359 人关注过本帖
标题:请问如何实现无限级分类
只看楼主 加入收藏
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
 问题点数:0 回复次数:13 
请问如何实现无限级分类
请问如何实现无限级分类
比如我要创3级分类第一类为Article,创建后自动创建一个文件夹Article
2级分类Asp,Asp.net每一级分别在Article这个文件夹里分别创建Asp,asp.net的文件夹
3级分类Vbscript,jscript,C#,Vb.net,Vbscript和jscript也自动能创建在Asp文件夹中的文件夹,C#,Vb.net在Asp.net中.
搜索更多相关主题的帖子: Article Asp 分类 Vbscript 文件 
2005-11-24 17:47
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 

<%
'程序的核心是一个数组,显示的结果只是比较常见的两种情况,只读取了一次数据库
Dim LID,CID,TID,OID,Tmp,Url,Bof,Eof,i,ReadSQL,PgNum,PgSiz,Arr,reID,AllRs,LinkStr,
ReadPgSiz,ReadPgNum,ReadAllFd,ReadAllPg,ReadAllRs,ReadRsNum
Db = "test.mdb"
ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
Set conn = Server.createObject("ADODB.Connection")
conn.open ConnStr
Set NET = New Class_NET


Class Class_NET
function Read(ReadSQL,PgNum,PgSiz)
ReadSQL =(Replace(ReadSQL,"'",""))
ReadPgSiz=Int(PgSiz)
ReadPgNum=Int(PgNum)
Set ReadRs= Server.createObject("ADODB.Recordset")
ReadRs.open ReadSQL,conn,1,1
ReadRs.PageSize =ReadPgSiz
ReadAllFd =ReadRs.Fields.Count
ReadAllPg =ReadRs.PageCount
ReadAllRs =ReadRs.RecordCount
ReadRsNum =ReadRs.Absoluteposition
If int(ReadPgNum)>Int(ReadAllPg) or int(ReadPgNum)=0 Then ReadPgNum=1
ReadRs.absolutepage=ReadPgNum
'返回实际的页面记录条数
If int(ReadPgNum)=Int(ReadAllPg) Then ReadPgSiz=ReadAllRs-ReadPgSiz*(ReadAllPg-1)
'数组开始
reDim ReadRsArr(ReadAllFd-1,ReadPgSiz-1)
For ReadArrRs = 0 to ReadPgSiz-1
If ReadRs.Eof Then Exit For
For ReadArrFd = 0 to ReadAllFd-1
ReadRsArr(ReadArrFd,ReadArrRs)=ReadRs(ReadArrFd)
Next
ReadRs.MoveNext
Next
Read=ReadRsArr
End function
'=====================================================
function ClassPath(Arr,reID,AllRs,Url,LinkStr)
Tmp=Null
reID=Int(reID)
If reID=0 Then Exit function
For i=0 to AllRs-1
If int(Arr(5,i))=int(reID) Then
OID=Arr(0,i)
LID=Arr(1,i)
Exit For
End If
Next
For i=i to 0 step -1
If Arr(1,i)<=LID Then
Tmp=LinkStr&"<a href="&Url&Arr(5,i)&">"&Arr(6,i)&"</a>"&Tmp
LID=LID-1
End If
Next
ClassPath=Tmp
End function
'=====================================================
Sub SetBofEof(Arr,reID,AllRs)
If reID=0 Then
Bof=0
Eof=AllRs-1
Else
For i=0 to AllRs-1
If Arr(5,i)=reID Then
Bof=i
For j=i+1 to AllRs-1
If Arr(1,j)<=Arr(1,i) Then
Eof=j-1
Exit For
End If
If j=AllRs-1 Then Eof=AllRs-1
Next
Exit For
End If
Next
End If
End Sub
'=====================================================
function ClassList(Arr,reID,AllRs,Url)
Tmp=Null
reID=Int(reID)
Call Net.SetBofEof(Arr,reID,AllRs)
'下边这两条实现不显示总分类的功能
If reID>0 Then Bof=Bof+1
For i=Bof to Eof
For j=1 to Arr(1,i)-Arr(1,Bof)
Tmp=Tmp&" "
Next
For k=i+1 to AllRs-1
If Int(Arr(2,k))=Int(Arr(2,i)) Then
Tmp=Tmp&"┝"
Exit For
Else
If k=AllRs-1 Then
Tmp=Tmp&"┕"
Exit For
End If
End If
Next
If i=AllRs-1 Then Tmp=Tmp&"┕"
Tmp=Tmp&"<a href="&Url&Arr(5,i)&">"&Arr(6,i)&"</a><br>"
Next
ClassList=Tmp
End function
End Class
Dim reClass
reClass=request("Class")
If reClass="" or Int(reClass)<1 Then reClass=0
Dim ClassArr
ClassArr=NET.Read(" select * From Class where LID<20 Order by OID",1,999)
Dim ClassAllRs
ClassAllRs=ReadAllRs
%>
<style type="text/css">
<!--
body,a,table,div,span,td,th,input,select{font-size:9pt;font-family:"dotuml";color:#000000;}
body {background-color:#ffffff;scrollbar-base-color:#d0d0c8}
a:hover{ color:#000000 ;}
a:link,a:active,a:visited{text-decoration:none ;color:#ff4500}
.btn {background-color: #d0d0c8; height: 21px; top: 1px; width: 21px; }
-->
</style>
<%
Response.Write "当前栏目的显示"
Response.Write "<br>"
Response.Write NET.ClassPath(ClassArr,reClass,ClassAllRs,"?Class=",">>>")
Response.Write "<br>"
Response.Write "栏目列表的显示"
Response.Write "<br>"
Response.Write NET.ClassList(ClassArr,reClass,ClassAllRs,"?class=")
%>

2005-11-24 17:59
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
盖茨他爹,你上面的功能实现的是什么

中国人的财富网:http://www..cn/
2005-11-24 18:20
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
转滴
2005-11-24 19:03
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
有没有这样的系统,可以研究一下,不要太难

中国人的财富网:http://www..cn/
2005-11-24 19:08
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
动力文章系统3.51,没用缓存等技术,里面的函数很容易理解,里面有用到的无限分类功能,对文章栏目进行分类的
2005-11-24 19:11
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 

上次你说风讯系统不错,我下了一个,连安装,都出错,

不是说ASP只能用脚本吗,我看到很多人写的都用到了类


中国人的财富网:http://www..cn/
2005-11-24 19:24
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 

风讯生成HTML可以借鉴
借鉴分类用动力就行了

动力是webboy写的,易懂,代码格式严谨
风讯是轻风云写的,有些仓促,我用了几次也不想用了,错误很多,不过可以锻炼出调试高手来

2005-11-24 19:32
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
风讯系统,我几次安装都没成功生来懒得弄了
看一点点风讯的,他连一个变量,都有3个文件来存储,完全看懂,不知道要几年
盖茨他爹,你有没有研究过谁的系统,像我这样垃圾的水平,怎么在提高ASP,

中国人的财富网:http://www..cn/
2005-11-24 19:39
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
你的水平不垃圾啊,看你的个人主页了,很不错啊,都生成HTML了,很多做ASP工作的到不了你这种水平。
我水平不高的说,从来没开发过什么系统
2005-11-24 19:41
快速回复:请问如何实现无限级分类
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013881 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved