asp分頁函數[推薦]

來源:互聯網
上載者:User

<%
sql=""
Set Rs=Server.CreateObject("Adodb.RecordSet")
Rs.open Sql,TXconn,1,1
If Rs.RecordCount Then

        TopNum=10        '定義每頁顯示多少條
        QName="Page"        '定義接收頁碼的變數名

        Page=Request.QueryString(QName)
        If Page="" Then
                Page=1
        ElseIf Not IsNumeric(Page) Then
                Page=1
        Else
                Page=Page+0
        End if
        MaxPage=Fix(Rs.RecordCount/TopNum)
        If (Rs.RecordCount mod TopNum) Then MaxPage=MaxPage+1
        If Page>MaxPage Then Page=MaxPage
        Rs.PageSize=TopNum
        Rs.AbsolutePage = Page

        For i=1 to TopNum
                If Rs.bof or Rs.eof Then Exit For
                        Response.write(i&"<br />")
                Rs.MoveNext
        Next
Else
        Response.write("no data")
End If
%>

<%=TXPage(Rs.RecordCount,TopNum,2,0,0,0,QName)%>

<%
Function TXPage(Totals,PerNums,PageNum,Info,List,Input,QName)
'分頁函數(所有數量,每頁顯示記錄數,頁碼個數,頁碼統計資訊,下拉式清單,輸入框,頁碼變數名[為空白則為Page])
        Dim strBegin,strBefore,strPrev,strNext,strAfter,strEnd,BeginNum,EndNum,Page,Pages,Url
        strBegin="<font face=""webdings"">9</font>"  '定義第一頁按鈕顯示樣式
        strBefore="<font face=""webdings"">7</font>"  '定義上幾頁按鈕顯示樣式
        strPrev="<font face=""webdings"">3</font>"  '定義前一頁按鈕顯示樣式
        strNext="<font face=""webdings"">4</font>"  '定義下一頁按鈕顯示樣式
        strAfter="<font face=""webdings"">8</font>"  '定義後幾頁按鈕顯示樣式
        strEnd="<font face=""webdings"">:</font>"  '定義最後一頁按鈕顯示樣式
       
        PageNum=Fix(PageNum/2)
        If QName="" Then QName="Page"
        Page=Request.QueryString(QName)
        Url="?"
        Dim Query,str,i
        Query=Split(Request.ServerVariables("QUERY_STRING"),"&")
        For i=0 to Ubound(Query)
                Str=Split(Query(i),"=")
                If Lcase(Str(0))<>Lcase(QName) Then Url=Url&Str(0)&"="&Str(1)&"&"
        Next
        PerNums=PerNums+0
        If Totals mod PerNums Then
                Pages=Fix(Totals/PerNums)+1
        Else
                Pages=Fix(Totals/PerNums)
        End If
        If IsNumeric(Page) Then
                Page=Page+0
                If Page>Pages Then
                        Page=Pages
                ElseIf Page<1 Then
                        Page=1
                End If
        Else
                Page=1
        End If
       
        TXPage=""
        BeginNum=Page-PageNum
        EndNum=Page+PageNum
        If BeginNum<1 Then BeginNum=1
        If EndNum-BeginNum<PageNum*2 Then EndNum=BeginNum+PageNum*2
        If EndNum>Pages Then EndNum=Pages
        If EndNum-BeginNum<PageNum*2 Then BeginNum=EndNum-PageNum*2
        If BeginNum<1 Then BeginNum=1
        If BeginNum>PageNum*2 and PageNum>1 Then TXPage=TXPage&"<a href="""&Url&QName&"="&Page-PageNum*2&"""

Title=""前"&PageNum*2&"頁"">"&strBefore&"</a>"
        If BeginNum>1 Then TXPage="<a href="""&Url&QName&"=1"" Title=""第一頁"">"&strBegin&"</a>"&TXPage&"<a

href="""&Url&QName&"="&Page-1&""" Title=""上一頁"">"&strPrev&"</a>.."
        For i=BeginNum to EndNum
                If i=Page Then
                        TXPage=TXPage&"[<span style=""cursor:pointer;font-weight:bold;"">"&i&"</span>]"
                Else
                        TXPage=TXPage&"[<a href="""&Url&QName&"="&i&""">"&i&"</a>]"
                End If
        Next
        If EndNum<Pages Then TXPage=TXPage&"..<a href="""&Url&QName&"="&Page+1&""" Title=""下一頁"">"&strNext&"</a>"
        If EndNum<Pages-PageNum*2 and PageNum>1 Then TXPage=TXPage&"<a href="""&Url&QName&"="&Page+PageNum*2&""" Title=""

後"&PageNum*2&"頁"">"&strAfter&"</a>"
        If EndNum<Pages Then TXPage=TXPage&"<a href="""&Url&QName&"="&Pages&""" Title=""最末頁"">"&strEnd&"</a>"
        If Info Then TXPage=TXPage&" 頁次:"&Page&"/"&Pages&"頁 共"&Totals&"條 "&PerNums&"條/頁"
        If List Then
                TXPage=TXPage&" <select onChange=""javascript:window.location.href='"&Url&QName&"='+this.options

[this.selectedIndex].innerText;"">"
                For i=1 to Pages
                        TXPage=TXPage&"<option"
                        If i=Page Then TXPage=TXPage&" selected"
                        TXPage=TXPage&">"&i&"</option>"
                Next
                TXPage=TXPage&"</select>"
        End If
        If Input Then TXPage=TXPage&" <input type=""text"" size=""1"" Title=""輸入號碼後,按斷行符號即可""

style=""overflow:visible;ime-mode:disabled;"" onkeydown=""javascript:if

('.8.13.37.39.46.48.49.50.51.52.53.54.55.56.57.96.97.98.99.100.101.102.103.104.105.'.indexOf('.'+event.keyCode+'.')>=0){if

(event.keyCode==13){window.location.href='"&Url&QName&"='+value;}}else{return false;}"">"
End Function
%>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.