码迷,mamicode.com
首页 > 其他好文 > 详细

分页显示类源代码

时间:2016-07-20 13:31:12      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

<%‘用法

Dim Pages‘定义类变量
Set Pages = New Cls_Pages_New
Pages.intPage= Page‘当前页码
Pages.RequestPage = 10‘每页显示多少页的翻页数
Pages.ShowNum=10‘每页显示的记录数
Pages.Other = Zr.QueryString‘多个URL变量
Rs = Pages.ResultSet(sql)‘类输出的结果
RecordCount=Pages.intReCun‘总记录数
If IsNull(Rs) Then   Rs = "<br>尚无任何内容"‘为空则没有记录
If IsArray(rs) Then
For i=0 To ubound(Rs,2)
‘循环体内容为结果输出
Next
End If
%>

<%=Pages.ShowPages()%>分页输出

<%

Class Cls_Pages_New
   Private intRspagesize,intPaCun,intPageCun,intPageDown,intpageup,page
   Private Rs,TOther
   Public intReCun
‘初始化
   Private Sub Class_Initialize()
     intRspagesize=20‘每页显示的记录数
intPageCun=10‘每页显示多少页
intReCun=-1‘总记录数
   End Sub
‘结束
   Private Sub Class_Terminate()
   End Sub


‘取得当前页
   Public Property Let intPage(ByVal VShowNum)
     page=CheckNum(VShowNum,10,-1)
if IsNumeric(page) then‘页码为整数
    page=cint(page)
    if page<1 then page=1
else
    page=1
end if
   End Property
‘取得每页显示条数
   Public Property Let ShowNum(ByVal VShowNum)
       intRspagesize=CheckNum(VShowNum,10,-1)
   End Property
‘取得每页显示页数
   Public Property Let RequestPage(ByVal VShowNum)
       intPageCun=CheckNum(VShowNum,10,-1)
   End Property
‘取得URL上的其他参数
   Public Property Let Other(ByVal Tor)
     If Tor="" Or IsNull(Tor) Then
       TOther=""
     Else
       TOther=Tor & "&"
     End If
   End Property
‘输出结果数组
   Public Property Get ResultSet(ByVal sql)
     ResultSet=Null
If Not IsObject(Conn) Then ConnectionDatabase
Set Rs = Server.CreateObject ("Adodb.Recordset")
Rs.CursorLocation = 3
On Error Resume Next
Rs.Open sql,Conn,1,1,&H0001‘&H0001表示adCmdText,将执行一段sql,&H0002表示adCmdTable,将操作一个表
If Err Then
   err.Clear
   Set Conn = Nothing
   Response.Write "查询数据的时候发现错误,请检查您的查询代码是否正确。"
   Response.End
End If
If Not Rs.Eof Then
Rs.pagesize=intRspagesize
intReCun=Rs.Recordcount‘总记录数
intPaCun=Rs.pagecount‘总页数
Rs.absolutepage=page
ResultSet=Rs.GetRows(intRspagesize)
End If
Rs.Close
Set Rs=Nothing
‘Rs.AbsolutePosition = ( TmpPage - 1)* TShowNum + 1
Zr.SqlQueryNum = Zr.SqlQueryNum+1
   End Property

   Private Function CheckNum(byVal iStr,byVal iStartNum,byVal iEndNum)
     If Not IsNumeric(iStr) Then
       CheckNum=iStartNum
     Else
       CheckNum=Clng(iStr)
     End If
     If iEndNum>-1 Then
       If CheckNum<iStartNum Then CheckNum=iStartNum
       If CheckNum>iEndNum Then CheckNum=iEndNum
     End If
   End Function
‘显示分页栏目
   Public Function ShowPages()
     Dim HTMLtext
If intPaCun<intPageCun Then intPageCun=intPaCun
If page<>1 Then‘显示第一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page=1"" title=""第一页""><font style=""font-family:webdings"">9</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">9</font>"&Chr(13)&Chr(10)
End If
If page>intPageCun Then‘显示上多页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page-intPageCun&""" title=""上"&intPageCun&"页""><font style=""font-family:webdings"">7</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">7</font>"&Chr(13)&Chr(10)
End If
If page>1 Then‘显示上一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page-1&""" title=""上一页""><font style=""font-family:webdings"">3</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">3</font>"&Chr(13)&Chr(10)
End If

If intPageCun mod 2 =1 Then
intpageup=(intPageCun-1)/2
intPageDown=intpageup
Else
intpageup=intPageCun/2-1
intPageDown=intpageup+1
End If
If page<=intpageup Then
intpageup=page-1
intPageDown=intPageCun-intpageup-1
End If
If (intPaCun-page)<=intPageDown Then
intPageDown=(intPaCun-page)
intpageup=intPageCun-intPageDown-1
End If
For i=intpageup To 1 Step -1
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&(page-i)&""" title=""第"&(page-i)&"页"">"&(page-i)&"</a>"&Chr(13)&Chr(10)
Next
HTMLtext=HTMLtext&"<font>"&page&"</font>"&Chr(13)&Chr(10)‘当前页
For i=1 To intPageDown
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&(page+i)&""" title=""第"&(page+i)&"页"">"&(page+i)&"</a>"&Chr(13)&Chr(10)
Next

If page<intPaCun Then‘显示下一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page+1&""" title=""下一页""><font style=""font-family:webdings"">4</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">4</font>"&Chr(13)&Chr(10)
End If
If page<intPaCun-intPageCun Then‘显示下多页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page+intPageCun&""" title=""下"&intPageCun&"页""><font style=""font-family:webdings"">8</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">8</font>"&Chr(13)&Chr(10)
End If
If page<>intPaCun Then‘显示最后一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&intPaCun&""" title=""最后一页""><font style=""font-family:webdings"">:</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">:</font>"&Chr(13)&Chr(10)
End If
ShowPages=HTMLtext
   End Function
End Class
%>

分页显示类源代码

标签:

原文地址:http://www.cnblogs.com/lykouyi/p/5687895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!