您的位置:首页精文荟萃软件资讯 → ASP进阶之文章在线管理更新8

ASP进阶之文章在线管理更新8

时间:2004/10/7 19:18:00来源:本站整理作者:蓝点我要评论(0)

ASP进阶之文章在线管理更新--主页面及搜索篇



作者:沙滩小子



   经过了文章的添加、保存、显示,那么现在应该来谈谈关于管理程序的显示主页面,也就是显示所有文章的标题连接,以方便浏览者查找文章,其应该具有的功能有:显示所有文章的标题连接,加入日期,浏览次数等信息,另外还必须提供分页功能,要不然这么多的文章标题在一个页面都显示出来,那将非常的费时且不便浏览,另外由于本程序在这里结合了文章分栏目搜索的功能,所以在这里也将一起介绍了。



   下面就为大家详细的介绍主页面index.asp的这些功能的实现过程以及其具体功用:



   "建立数据库连接











ASP专题栏目









<%



   "定义每页最大文章标题显示量MaxPerPage,你可以自己修改这里的数字来达到你的最佳显示效果

   const MaxPerPage=18

   dim totalPut   

   dim CurrentPage

   dim TotalPages

   dim i,j



   "假如返回的页面信息是空的,也就是如果你直接输入index.asp,那么就用这里定义的页数第一页

   if not isempty(request("page")) then

      currentPage=cint(request("page"))

   else

      currentPage=1

   end if

   dim sql

   dim rs

   dim rstype

   dim typesql

   dim typeid,typename



   "如果返回的栏目信息为空,那么就用这里定义的栏目,这里指定的是第三个栏目

   if not isEmpty(request("typeid")) then

typeid=request("typeid")

   else

typeid=3

   end if



   "通过返回的栏目typeid号,打开数据库显示指定的栏目,并把其值交给typename

set rstype=server.createobject("adodb.recordset")

  typesql="select * from type where typeID="&cstr(typeid)

  rstype.open typesql,conn,1,1

  typename=rstype("type")

  rstype.close

%>











  

    

  






   "显示栏目信息,当你点击了任何一个栏目,在typename的位置都会显示相关信息,这里没有采用栏目的自动显示方式是考虑了页面的显示效果,而采用手工添加的模式,要想采用自动模式,就自己写吧:)相信你学习到现在,不会连这个都编不出来吧!

    动网ASP技巧专题&gt;&gt;<%response.write ""&typename&""%>


    ASP FAQASP组件ASP文摘ASP实例ASP安全



    




   "打开指定的记录集article并按照文章的加入日期排序,在这里打开有两个条件,一个是利用like来查询数据库并显示相关文章标题,还有就是通过返回的typeid显示指定栏目的文章

<%

sql="select * from article where title like '%"&request("txtitle")&"%' and typeid="+cstr(typeid)+" order by date desc"

Set rs= Server.CreateObject("ADODB.Recordset")

rs.open sql,conn,1,1



  "如果查询数据库的结果指向记录集的开始或者结尾,表示数据库中没有任何相关文章

  if rs.eof and rs.bof then

       response.write "

没有或没有找到任何文章

"

   else

  "如果数据库内有内容,则取得数据库内文章数目

  totalPut=rs.recordcount

  "假如页面参数currentpage小于1,则指定为1

      if currentpage<1 then

          currentpage=1

      end if

  "利用文章总数和每页最大文章数算得分页的页数

      if (currentpage-1)*MaxPerPage>totalput then

   if (totalPut mod MaxPerPage)=0 then

     currentpage= totalPut \ MaxPerPage

   else

      currentpage= totalPut \ MaxPerPage + 1

   end if



      end if

  "如果分页的页数为1或者页面数减1乘与页面最大文章数小于文章总数,则用已经做好的function showpage在showContent子程序也就是显示文章标题部分的上面和下面显示分页程序

       if currentPage=1 then

            showpage totalput,MaxPerPage,"index.asp"

            showContent

            showpage totalput,MaxPerPage,"index.asp"

       else

          if (currentPage-1)*MaxPerPage
            rs.move  (currentPage-1)*MaxPerPage

  "定义书签

            dim bookmark

            bookmark=rs.bookmark

            showpage totalput,MaxPerPage,"index.asp"

            showContent

            showpage totalput,MaxPerPage,"index.asp"

        else

        currentPage=1

           showpage totalput,MaxPerPage,"index.asp"

           showContent

           showpage totalput,MaxPerPage,"index.asp"

      end if

   end if

   rs.close

   end if

        

   set rs=nothing

   "显示文章标题及相关数据库内容子程序  

   sub showContent

       dim i

   i=0



%>



      

        

        

        

        

      

<%do while not rs.eof%>

      

   "依次显示文章ID号,文章标题,文章加入日期及浏览数,这里的openarticle.asp是用来重新定向文章的,以后将为大家介绍

        

        

        

        

      

<%

   "这里是一个循环,每显示一篇文章,则定义的变量i的值加一,当i的值大于或等于页面最大文章数时退出循环

      i=i+1

      if i>=MaxPerPage then exit do

   "显示完一篇文章以后,自动移到记录集的下一个记录

      rs.movenext

   loop

  %>

    
ID号文章标题加入日期点击

<%=rs("articleid")%>

&typeid=<%=cstr(typeid)%>')"><%=rs("title")%>

<%=rs("date")%>

<%=rs("hits")%>



    
<%

   end sub



   "显示分页的function

function showpage(totalnumber,maxperpage,filename)

  dim n



   "利用文章数算出文章的分页数N

  if totalnumber mod maxperpage=0 then

     n= totalnumber \ maxperpage

  else

     n= totalnumber \ maxperpage+1

  end if

  response.write "
"

  response.write "

&gt;&gt;分页&nbsp;"



   "如果当前页数小于2,则显示的文章首页和上一页不显示连接,否则用当前页数减去1来显示上一页,直接用page=1来显示首页

  if CurrentPage<2 then

    response.write "首页 上一页&nbsp;"

  else

    response.write "首页&nbsp;"

    response.write "上一页&nbsp;"

  end if



    "假如分页页数小于1,则直接显示下一页和尾页,否则用当前页数加上1来显示下一页,用已经算出的文章分页数N显示文章的尾页

  if n-currentpage<1 then

    response.write "下一页 尾页"

  else

    response.write ""

    response.write "下一页
尾页"

  end if



    "用N和maxperpage显示文章的分页数和每页的文章数

   response.write "&nbsp;页次:"&CurrentPage&"/"&n&" "

    response.write "&nbsp;共"&totalnumber&"篇文章 "&maxperpage&"篇文章/页 "



    "直接输入文章所在页面转到相关页面

   response.write " 转到:"

   response.write "

"     

end function

%>



   "文章搜索相关程序





   "把输入的查询字符赋值给txtitle,这样在前面的显示文章语句就起了作用title like '%"&request("txtitle")&"%'

      

标题:



    


    










   在这里顺便介绍一下关于打开文章的程序openarticle.asp,这个也是一个更新数据库内容(update浏览数)和重定向文件。很简单,所以这里只是简单介绍一下它的程序内容:

   

<%@ LANGUAGE="VBSCRIPT" %>

   "打开数据库连接



<%response.buffer=false

dim sql

dim rs

dim articleid

    "利用update从文章连接处返回的文章号ID更新指定文章的浏览数,以及利用response.redirect重定向文章的连接

articleid=request("id")

set rs=server.createobject("adodb.recordset")

sql="update article set hits=hits+1 where articleID="&articleid

rs.open sql,conn,1,1   

rs.close

conn.close

response.redirect "list.asp?id="&articleid

%>



   好了,关于文章的显示首页面就完成了,它可以显示文章的标题,加入日期等文章相关信息,另外还结合了文章的分栏目搜索查询功能。在这里你会发现,利用ASP对数据库进行查询并不是一件很难的事情,只要利用一个like就可以轻易实现,文章管理的前台程序我们已经基本完成,下面该来介绍管理系统的后台程序了。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本