自己寫的通用分頁,可設置顯示的分頁鏈接數,帶下拉選擇:
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$條記錄 $pagesize$條/頁 第$curpage$/$pagenum$頁 " 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> " 40if curpage>1 then 41 splitpage_html=splitpage_html & "<a href='" & addr_url & up_page & "'>上一頁</a> " 42else 43 splitpage_html=splitpage_html & "上一頁 " 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> " 67 else 68 splitpage_html=splitpage_html & "<a href='" & addr_url & idx & "'>" & idx & "</a> " 69 end if 70next 71 72if pagenum-curpage>0 then 73 splitpage_html=splitpage_html & "<a href='" & addr_url & down_page & "'>下一頁</a> " 74else 75 splitpage_html=splitpage_html & "下一頁 " 76end if 77splitpage_html=splitpage_html & "<a href='" & addr_url & last_page & "'>尾頁</a> " 78 79splitpage_html=splitpage_html & "跳轉到 " 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%>