日期:2014-02-02  浏览次数:20814 次

用ASP做一个分页程序
  wodeail·CPCW
  
    你是否为了你的站点文章过多而反复做链接上一页、下一页这些烦琐的工作发愁呢?现在有了ASP,只要你的主页支持ASP,你就可以很简单的实现对文章的管理了,排序、链接、显示这些工作都让ASP去完成吧!这么轻松的主页维护,你是不是也想试一试呢?
  
  请看以下实现ASP分页程序的代码:
  
  <anguage="vbscript"
  
  dim conn
  
  dim connstr
  
  dim totalPut
  
  dim CurrentPage
  
  dim TotalPages
  
  dim i,j
  
  dim sql
  
  dim rs
  
  on error resume next
  
  '打开数据库
  
  connstr="DBQ="+server.mappath("book.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
  
  set conn=server.createobject("ADODB.CONNECTION")
  
  conn.open connstr
  
  set rs=server.createobject("adodb.recordset")
  
  '定义每页文章显示数
  
  const MaxPerPage=18
  
  if not isempty(request("page")) then
  
  currentPage=cint(request("page"))
  
  else
  
  currentPage=1
  
  end if
  
  sql="select * from learning order by articleid desc"
  
  Set rs= Server.CreateObject("ADODB.Recordset")
  
  rs.open sql,conn,1,1
  
  if rs.eof and rs.bof then
  
  response.write "<p align='center'> 还 没 有 任 何 文 章</p>"
  
  else
  
  '数据库中文章数totalput
  
  totalPut=rs.recordcount
  
  if currentpage<1 then
  
  currentpage=1
  
  end if
  
  '统计总页数currentpage
  
  if (currentpage-1)*MaxPerPage>totalput then
  
  if (totalPut mod MaxPerPage)=0 then
  
  currentpage= totalPut \ MaxPerPage
  
  else
  
  currentpage= totalPut \ MaxPerPage + 1
  
  end if
  
  end if
  
  if currentPage=1 then
  
  showpage totalput,MaxPerPage,"index.asp"
  
  showContent
  
  showpage totalput,MaxPerPage,"index.asp"
  
  else
  
  if (currentPage-1)*MaxPerPage<totalPut then
  
  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
  
  conn.close
 &nbs