将下列的代码保存为a.asp,在需要调用的页面用<!-- #include file="相对路径/a.asp -->将其包含。函数名为fy()
具体如下:
1、创建a.asp文件,内容为如下代码:
’翻页函数 参数列表:
’sql 查询所有记录条数的SQL语句,必须包含:select count(*) as num from ...
’page 当前页码,
’pagelistnum每页显示记录数
’pagenum每页显示的页码数
’link要链接到的链接地址
function fy(sql,page,pagelistnum,pagenum,link)
link=link
dim rs,znum,zpage,i,a,b
page=cint(page)’将PAGE转换为整型
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
znum=rs("num")
’得到总页数
zpage=znum\pagelistnum
if znum mod pagelistnum>0 then zpage=zpage+1
’ response.Write "共" & zpage & "页,第" & page & "页 "
’得到第一页、上一页链接
a=0
b=pagenum ’控制显示页数
i=1
if page>(b/2) then
if page=1 then
else
response.Write "<a href=" & link & "&page=1><<</a>"
end if
i=page-cint(b/2)
do while i<=zpage and i<=page+(b/2)
if i=page then
response.Write " <a href=" & link & "&page="&i&"><FONT color=#ff0000>"&i&"</FONT></a>"
else
response.Write " <a href=" & link & "&page="&i&">"&i&"</a>"
end if
i=i+1
loop
%>
<input type=’text’ size=’2’ style=’height: 18px; border:1px solid #FFCC99’ >
<%
if page<>zpage then response.write "<a href=" & link & "&page=" & zpage & ">>></a>"
response.write" 页次:"&page&"/"&zpage
else
if page=1 then
else
response.Write "<a href=" & link & "&page=1><<</a>"
end if
do while i<=zpage and i<=b
if i=page then
response.Write " <a href=" & link & "&page="&i&"><FONT color=#ff0000>"&i&"</FONT></a>"
else
response.Write " <a href=" & link & "&page="&i&">"&i&"</a>"
end if
i=i+1
loop
%>
<input type=’text’ size=’2’ style=’height: 18px; border:1px solid #FFCC99’ >
<%
if page<>zpage then
response.Write "<a href=" & link & "&Page=" & zpage & ">>></a> 页次:"&page&"/"&zpage
else
response.write" 页次:"&page&"/"&zpage
end if
end if
response.write(" "&pagelistnum&"篇/页")
rs.close
set rs=nothing
end function
2、调用,在需要调用的asp文件内加入如下代码,这里假设需调用的文件为List.asp
<!-- #include file="相对路径/a.asp -->
<%
if request.QueryString("page")="" then
page=1
else
page=request.QueryString("page")
end if
pagelistnum=9 ’设置每页显示条数
pagenum=10 ’设置每页显示页码数
sql="select top " & (page*pagelistnum) & " * from ..." ’调用数据库的语句,...处你自已想点写点写了
sqlfy="select count(*) as num from ... ’这里的...要与上面sql的...相同
set rs=server.createobject("adodb.recordset") ’创建recordset对象
rs.open sql,conn,1,1
rs.PageSize=pagelistnum ’用pagelistnum变量设定数据库每页显示数
rs.AbsolutePage=page ’用page变量设定当前页
do while not rs.eof
response.write(rs("id")) ’这里请自已设定要输出的数据库内容项
...
rs.movenext ’指针移至下一记录
loop
%>
...
<br>
<% fy sqlfy,page,pagelistnum,pagenum,"list.asp?" %> ’分页函数调用,这里假设本文件名为list.asp
http://kejianfeng.blog.163.com/blog/static/3219859200777825329/