首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

ASP无限级分类实现源码

来源: 互联网    日期:2007-1-13 15:10:38
 

<%
    '程序的核心是一个数组,显示的结果只是比较常见的两种情况,只读取了一次数据库
    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  [转自:飞腾设计网 www.feitec.com]    
    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=")
    %> [转自:711网络工作室 http://www.tc711.com]



更多的ASP无限级分类实现源码请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:10:38   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报