<%@ language = "vbscript" codepage = %>
<%
option explicit 强制定义变量
dim idcount记录总数
dim pages每页条数
dim pagec总页数
dim page页码
dim pagenc 每页显示的分页页码数量=pagenc*+
pagenc=
dim pagenmax 每页显示的分页的最大页码
dim pagenmin 每页显示的分页的最小页码
page=clng(request("page"))
dim start程序开始的时间
dim endt程序结束的时间
dim datafrom数据表名
datafrom="table"
dim connrs
dim datapath 数据库路经
dim sqlid本页需要用到的id
dim myself本页地址
myself = requestservervariables("path_info")
dim sqlsql语句
dim taxis排序的语句
taxis="order by id asc" 正排序
taxis="order by id desc" 倒排序
dim i用于循环的整数
start=timer()
datapath="dbmdb"数据库
pages=
连接打开数据库
dim db
db="dbmdb" 定义数据库路径及名称
set conn = servercreateobject("adodbconnection")
connopen "provider=microsoftjetoledb;data source=" & servermappath(db)
if errnumber <> then
responsewrite "数据库链接出错!"
responseend()
end if
获取记录总数
sql="select count(id) as idcount from ["& datafrom &"]"
set rs=servercreateobject("adodbrecordset")
rsopen sqlconn
idcount=rs("idcount")获取记录总数
if(idcount>) then如果记录总数=则不处理
if(idcount mod pages=)then如果记录总数除以每页条数有余数则=记录总数/每页条数+
pagec=int(idcount/pages)获取总页数
else
pagec=int(idcount/pages)+获取总页数
end if
获取本页需要用到的id============================================
读取所有记录的id数值因为只有id所以速度很快
sql="select id from ["& datafrom &"] " & taxis
set rs=servercreateobject("adodbrecordset")
rsopen sqlconn
rspagesize = pages 每页显示记录数
if page < then page =
if page > pagec then page = pagec
if pagec > then rsabsolutepage = page
for i= to rspagesize
if rseof then exit for
if(i=)then
sqlid=rs("id")
else
sqlid=sqlid &""&rs("id")
end if
rsmovenext
next
获取本页需要用到的id结束============================================
end if
%>
<!doctype html public "//wc//dtd html transitional//en">
<html>
<head>
<meta httpequiv="contenttype" content="text/html; charset=gb">
<title>快速分页</title>
<link rel="stylesheet" href="pagecss" type="text/css">
</head>
<body bgcolor="#fff" leftmargin="" topmargin="" marginwidth="" marginheight="">
<table width="%" height="%" border="" cellpadding="" cellspacing="">
<tr>
<td valign="middle"><table width="%" height="%" border="" cellpadding="" cellspacing="" bgcolor="#cccccc">
<tr>
<td valign="top" bgcolor="#ffffff"><br> <table width="%" border="" align="center" cellpadding="" cellspacing="" class="zw">
<tr>
<td><strong><font color="#ff">快速分页</font></strong></td>
</tr>
</table>
<br>
<table width="%" border="" align="center" cellpadding="" cellspacing="" bgcolor="cccccc" class="zw">
<tr align="center" bgcolor="#fcb">
<td width="%"><strong>ID</strong></td>
<td width="%"><strong>主题</strong></td>
<td width="%"><strong>内容</strong></td>
<td width="%"><strong>时间</strong></td>
</tr>
<%
if(idcount> and sqlid<>"") then如果记录总数=则不处理
用in刷选本页所语言的数据仅读取本页所需的数据所以速度快
sql="select [id][aaaa][bbbb][cccc] from ["& datafrom &"] where id in("& sqlid &") "&taxis
set rs=servercreateobject("adodbrecordset")
rsopen sqlconn
while(not rseof)填充数据到表格
%>
<tr bgcolor="#ffffff">
<td align="center"><%=rs()%></td>
<td><%=rs()%></td>
<td><%=rs()%></td>
<td align="center"><%=rs()%></td>
</tr>
<%
rsmovenext
wend
%>
</table>
<br>
<table width="%" border="" align="center" cellpadding="" cellspacing="" class="zw">
<tr align="center">
<td align="left">共有<strong><font color="#ff"><%=idcount%></font></strong>条记录<strong><font color="#ff"><%=page%></font></strong>/<%=pagec%>每页<strong><font color="#ff"><%=pages%></font></strong>条</td>
</tr>
</table>
<table width="%" border="" align="center" cellpadding="" cellspacing="" class="zw">
<tr align="center">
<td align="right">
<%
设置分页页码开始===============================
pagenmin=pagepagenc计算页码开始值
pagenmax=page+pagenc计算页码结束值
if(pagenmin<) then如果页码开始值小于则=
pagenmin=
end if
if(page>) then如果页码大于则显示(第一页)
responsewrite ("<a "& myself &"?page=><font color=#>第一页</font></a>")
end if
if(pagenmin>) then如果页码开始值大于则显示(更前)
responsewrite ("<a "& myself &"?page="& page(pagenc*+) &"><font color=#>更前</font></a>")
end if
if(pagenmax>pagec) then如果页码结束值大于总页数则=总页数
pagenmax=pagec
end if
for i = pagenmin to pagenmax循环输出页码
if(i=page) then
responsewrite ("<font color=#ff><strong>"& i &"</strong></font>")
else
responsewrite ("[<a href="& myself &"?page="& i &"><font color=#>"& i &"</font></a>]")
end if
next
if(pagenmax<pagec) then如果页码结束值小于总页数则显示(更后)
responsewrite ("<a "& myself &"?page="& page+(pagenc*+) &"><font color=#>更后</font></a>")
end if
if(page<pagec) then如果页码小于总页数则显示(最后页)
responsewrite ("<a "& myself &"?page="& pagec &"><font color=#>最后页</font></a>")
end if
设置分页页码结束===============================
%><script language="javascript">
<!
function gopage() {
windowlocationhref="<%=myself%>?page="+ pagevalue;
}
//>
</script>
转到
<input name="page" type="text" value="<%=page%>" size="">页
<input type="button" name="submit" value="跳转" ></td>
</tr>
</table>
<%
end if
%>
<br>
<table width="%" border="" align="center" cellpadding="" cellspacing="" class="zw">
<tr>
<td align="center">
<p>
<%
endt=timer()
rsclose
set rs=nothing
connclose
set conn=nothing
%>
<%=formatnumber((endtstart)*)%>毫秒 </p>
<p><a href="" target="_blank">STONE空间</a></p></td>
</tr>
</table>
<br></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>