日期:2011-09-20  浏览次数:20921 次

这是一个关于翻页制作的函数,放在page.inc里面,主要用于数据量不是非常大的数据库,其中函数中的HTML格式可以自己更改。

<%
''文件名称:page.inc
''功能:处理数据翻页的函数
''作者:天地无用

Sub ShowPageBar(TotalPage,CurPage,strUrl)
''参数TotalPage:整个页数
''参数CurPage:当前页数
''参数strUrl:翻页使用的连接地址

DIM strPage
CurPage=GetValidPageNO(TotalPage,CurPage)
Response.Write "<TABLE WIDTH=''100%''>"
Response.Write "<TR><td width=''100%'' align=''right''>"
Response.Write "页数:" & CurPage & "/" & TotalPage & " "
IF InSTR(strUrl,"?")=0 THEN
strPage="?Page="
ELSE
strPage="&Page="
END IF

IF Curpage>1 THEN
Response.Write "<a href=" & strUrl &strPage&"1>第一页</a>|"
ELSE
Response.Write "第一页|"
END IF

IF CurPage>=2 THEN
Response.Write "<a href=" & strUrl & strPage &CurPage-1&">上一页</a>|"
ELSE
Response.Write "上一页|"
END IF

IF cInt(CurPage)<cInt(TotalPage) THEN
Response.Write "<a href=" & strUrl & strPage &CurPage+1&">下一页</a>|"
ELSE
Response.Write "下一页|"
END IF

IF cInt(CurPage) <>cInt(TotalPage) THEN
Response.Write "<a href=" & strUrl & strPage & TotalPage&">最后一页</a>"
ELSE
Response.Write "最后一页"
END IF
Response.Write "</TD></tr></table>"
END SUB

Function GetValidPageNo(PageCount,CurPage)
Dim iPage
iPage=CurPage
IF cInt(CurPage)<1 THEN
iPage= 1
END IF
IF cInt(iPage) > cInt(PageCount) THEN
iPage= PageCount
END IF
GetValidPageNo=iPage
END Function
%>

下面是使用这个函数的例子,文件名称是showinfo.asp
<!--#include Virtual="page.inc"-->
<%
SET objConn=Server.CreateObject("ADODB.CONNECTION")
SET objRst=Server.CreateObject("ADODB.RECORDSET")
objConn.Open APPLICATION("dsn")

strSQL="SELECT * FROM ********"
''这里是你要使用的查询
objRst.Open strSQL,objConn,adOpenStatic
’打开数据记录
objRst.PageSize=50
’设置单页的数据记录数
iPageCount=objRst.PageCount
’定义了一个页码数量的变量
If Len(Request.QueryString("Page"))=0 Then
CurPage=1
Else
CurPage=CInt(Request.Querystring("Page"))
End If
’得到当前的页码
objRst.AbsolutePage=CurPage
’设置记录集中的当前页

’开始调用显示翻页的函数
''显示页数栏
''函数原型:ShowPageBar(TotalPage,CurPage,strUrl)
strUrl="showinfo.asp"
''定义连接的URL,这里完全可以用自己的页面地址,只用一页就可以完成翻页的功能了!
ShowPageBar iPageCount,CurPage,strUrl
''调用完成

************************
这里显示自己的内容
************************

objConn.Close
SET objRst=NOTHING
SET objConn=NOTHING
%>

欢迎大家使用,如果有建议或者意见请同我联系,大家一起讨论。