<%
'*********************************
'Function: MultiPage(Numbers,Perpage,Curpage,Url_Add)
'Parameters: Numbers, total number of records; Perpage, number of records per page; Curpage, current page; Url_Add, other parameters of the current page such as?action=list&
'Author: Alixi
'Date: 2007/7/15
'Description: ASP universal pagination style function
'Example: MultiPage(100,10,2,"?action=list&")
'*********************************
FunctionMultiPage(Numbers,Perpage,Curpage,Url_Add)
CurPage=Int(Curpage)
DimURL
URL=Request.ServerVariables("Script_Name")&Url_Add
MultiPage=""
DimPage, Offset, PageI
IfInt(Numbers)>Int(PerPage)Then
Page=10
Offset=2
DimPages, FromPage, ToPage
IfNumbersModCint(Perpage)=0Then
Pages=Int(Numbers/Perpage)
Else
Pages=Int(Numbers/Perpage)+1
EndIf
FromPage=Curpage-Offset
ToPage=Curpage+Page-Offset-1
IfPage>PagesThen
FromPage=1
ToPage=Pages
Else
IfFromPage<1Then
Topage=Curpage+1-FromPage
FromPage=1
If(ToPage-FromPage)<PageAnd(ToPage-FromPage)<PagesThenToPage=Page
ElseIFTopage>PagesThen
FromPage=Curpage-Pages+ToPage
ToPage=Pages
If(ToPage-FromPage)<PageAnd(ToPage-FromPage)<PagesThenFromPage=Pages-Page+1
EndIf
EndIf
MultiPage="<ahref='"&Url&"page=1'><<</a>"
ForPageI=FromPageTOToPage
IfPageI<>CurPageThen
MultiPage=MultiPage&"<ahref='"&Url&"page="&PageI&"'>["&PageI&"]</a>"
Else
MultiPage=MultiPage&"<b>["&PageI&"]</b>"
EndIf
Next
IfInt(Pages)>Int(Page)Then
MultiPage=MultiPage&"...<ahref='"&Url&"page="&Pages&"'>["&pages&"]>></a>"
Else
MultiPage=MultiPage&"<ahref='"&Url&"page="&Pages&"'>>></a>"
EndIf
EndIf
EndFunction%>