分页函数
2014-08-26来源:易贤网

pages为总的页数,page为当前页面,url为链接地址

Function ShowPages(Pages,Page,Url)  '分面显示

Dim i,Str,FrontStr,BackStr,ShowStr,StartNum,EndNum

Str=Url

If Replace(Str,"?","")<>Str Then

Str=Str & "&page="

Else

Str=Str & "?page="

End If

FrontStr="<a href=""" & Str & 1 & """ title=""第一页"">&lt;&lt;</a>"

BackStr="<a href=""" & Str & Pages & """ title=""最后一页"">&gt;&gt;</a>"

If Pages<=1 Then

ShowPages=""

Exit Function

End If

If Pages<=10 Then

For i=1 To Pages

If i<>Page Then

ShowPages=ShowPages & "<a href=""" & Str & i & """>[" & i & "]</a> "

Else

ShowPages=ShowPages & "[<b>" & i & "</b>] "

End If

Next

ShowPages=FrontStr & " " & ShowPages & " " & BackStr

Exit Function

End If

If Pages>10 Then

StartNum=Page-5

EndNum=StartNum+9

If StartNum<=0 Then

StartNum=1

EndNum=StartNum+9

End If

If EndNum>Pages Then

EndNum=Pages

StartNum=EndNum-9

End If

For i=StartNum To EndNum

If i<>Page Then

If i=Pages Then

ShowPages=ShowPages & "<a href=""" & Str & Pages & """ title=""最后一页"">[" & Pages & "]>></a>"

Else 

ShowPages=ShowPages & "<a href=""" & Str & i & """>[" & i & "]</a> "

End If

Else

If i=Pages Then

ShowPages=ShowPages & "[<b>" & Pages & "</b>] "

ShowPages=ShowPages & BackStr

Else

ShowPages=ShowPages & "[<b>" & i & "</b>] "

End If

End If

Next

ShowPages=FrontStr & " " & ShowPages

If EndNum<Pages Then

ShowPages=ShowPages & "...<a href=""" & Str & Pages & """ title=""最后一页"">[" & Pages & "]&gt;&gt;</a>"

End If

End If

End Function

更多信息请查看IT技术专栏

推荐信息