通用分页实现(ASP版)


自己写的通用分页,可设置显示的分页链接数,带下拉选择:

1<%
2'Written by Shaoyun 20:17 2008年5月29日 0:38
3'Email:shaoyun at yeah.net
4'Blog:http://shaoyun.cnblogs.com
5'分页函数:splitpage(记录总数,每页显示记录数,显示几条分页链接)
6Function splitpage(rscount,pagesize,shownum)
7
8Dim pagenum,curpage,first_page,last_page,up_page,down_page,idx,addr_url,splitpage_html
9
10addr_url=Request.ServerVariables("URL")
11addr_url=Mid(addr_url,InstrRev(addr_url,"/")+1)
12addr_url=addr_url & "?page="
13
14if (rscount mod pagesize)=0 then
15  pagenum=rscount/pagesize
16else
17  pagenum=rscount/pagesize+1
18end if
19first_page=1
20last_page=pagenum
21
22curpage=1
23if isnumeric(trim(request.QueryString("page"))) then
24  curpage=trim(request.QueryString("page"))
25  if pagenum-curpage<0 then curpage=pagenum
26else
27  curpage=1
28end if
29
30up_page=curpage-1
31down_page=curpage+1
32
33splitpage_html="共$rscount$条记录&nbsp;$pagesize$条/页&nbsp;第$curpage$/$pagenum$页&nbsp;"
34splitpage_html=replace(splitpage_html,"$rscount$",rscount)
35splitpage_html=replace(splitpage_html,"$pagesize$",pagesize)
36splitpage_html=replace(splitpage_html,"$curpage$",curpage)
37splitpage_html=replace(splitpage_html,"$pagenum$",pagenum)
38
39splitpage_html=splitpage_html & "<a href='" & addr_url & first_page & "'>首页</a>&nbsp;"
40if curpage>1 then
41  splitpage_html=splitpage_html & "<a href='" & addr_url & up_page & "'>上一页</a>&nbsp;"
42else
43  splitpage_html=splitpage_html & "上一页&nbsp;"
44end if
45
46dim fbegin,fend
47if shownum mod 2 then
48  show_front_num=int(shownum/2)
49  show_back_num=int(shownum/2)
50else
51  show_front_num=int(shownum/2)-1
52  show_back_num=int(shownum/2)
53end if
54if curpage-1<show_front_num then
55  fbegin=1
56  fend=shownum
57elseif curpage+show_back_num>pagenum then
58  fend=pagenum
59  fbegin=pagenum-shownum+1
60else
61  fbegin=curpage-show_front_num
62  fend=curpage+show_back_num
63end if
64for idx=fbegin to fend
65  if curpage-idx=0 then
66    splitpage_html=splitpage_html & "<b>" & idx & "</b>&nbsp;"
67  else
68    splitpage_html=splitpage_html & "<a href='" & addr_url & idx & "'>" & idx & "</a>&nbsp;"
69  end if
70next
71
72if pagenum-curpage>0 then
73  splitpage_html=splitpage_html & "<a href='" & addr_url & down_page & "'>下一页</a>&nbsp;"
74else
75  splitpage_html=splitpage_html & "下一页&nbsp;"
76end if
77splitpage_html=splitpage_html & "<a href='" & addr_url & last_page & "'>尾页</a>&nbsp;"
78
79splitpage_html=splitpage_html & "跳转到&nbsp;"
80splitpage_html=splitpage_html & "<select onChange=window.location.href=this.options[this.selectedIndex].value>"
81For idx=1 To pagenum
82  If curpage-idx=0 Then
83    splitpage_html=splitpage_html & "<option value='" & addr_url & idx & "' selected>第" & idx & "页</option>"
84  Else
85    splitpage_html=splitpage_html & "<option value='" & addr_url & idx & "'>第" & idx & "页</option>"
86  End if
87Next
88splitpage_html=splitpage_html & "</select>"
89
90response.Write splitpage_html
91
92End Function
93%>


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3