用ASP做一个分页程序

  你是否为了你的站点文章过多而反复做链接上一页、下一页这些烦琐的工作发愁呢?现在有了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="sele ct * 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

set conn=nothing

sub showContent

dim i

i=0

do while not rs.eof

>

选择显示数据库内容

<a href="openarticle.asp?id=<=rs("articleid")>"><=rs("title")></a>[点击:<=rs("hits")>]<br>

<

当显示记录大于maxperpage时结束这页

i=i+1

if i>=MaxPerPage then exit do

rs.movenext

loop

end sub

function showpage(totalnumber,maxperpage,filename)

求出当每页18篇文章时总共的页数

dim n

if totalnumber mod maxperpage=0 then

n= totalnumber \ maxperpage

else

n= totalnumber \ maxperpage+1

end if

response.write "<form method=Post action="&filename&">"

response.write "<p align=center><font color=#000080>>>分页</font> "

显示页数链接的条件

if CurrentPage<2 then

response.write "<font color=#000080>首页 上一页</font> "

else

response.write "<a href="&filename&"?page=1&>首页</a> "

response.write "<a href="&filename&"?page="&CurrentPage-1&">上一页</a> "

end if

if n-currentpage<1 then

response.write "<font color=#000080>下一页 尾页</font>"

else

response.write "<a href="&filename&"?page="&(CurrentPage+1)

response.write ">下一页</a> <a href="&filename&"?page="&n&">尾页</a>"

end ifc

response.write "<font color=#000080> 页次:</font><strong><font color=red>"&CurrentPage&"</font><font color=#000080>/"&n&"</strong>页</font>"

response.write "<font color=#000080> 共<b>"&totalnumber&"</b>篇文章 <b>"&maxperpage&"</b>篇文章/页</font>"

response.write " <font color=#000080>转到:</font><input type=text name=page size=4 maxlength=10 class=smallInput value="¤tpage&">"

response.write "<input class=buttonface type=submit value= Goto name=cndok></span></p></form>"

end function

>

  以上代码很简单的就实现了ASP网页的多种分页功能,不论是对浏览者还是管理者都能很方便的浏览和管理,我只在相关部分作了一些解释,象这个ASP程序还必须有数据库的支持才可以,

文章评级:★★★★★☆☆☆☆ 发表者:{佚名(127.0.0.*)} 3-29 [ 0]

 分享到:
 
 
相关文章:
我是:
本站注册用户
用户名: 密码:
非本站注册用户
我来评论:

评论字数在2000字以内。评论即可得2分,评论被采用后,根据评级可得到相应的积分和智慧果。
比如:评论评级为5,可得50分和5个智慧果。

 

 
 
 
 
 
 
































 

© 版权所有  2001-2024 知识网站
Copyright (C) 2001-2024 allzhishi.com All rights reserved
联系我们 — 电话:15973023232  微信:zhishizaixian  ICP备案号:湘ICP备08003211号-4