⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cls.page.asp

📁 网人分类信息5.0商业版。非常优秀的分类信息系统。比较少见。
💻 ASP
字号:
<%
Class Cls_PageView  
  Private sbooInitState  
  Private sstrCookiesName  
  Private sstrPageUrl  
  Private sstrPageVar  
  Private sstrTableName  
  Private sstrFieldsList  
  Private sstrCondiction  
  Private sstrOrderList  
  Private sstrPrimaryKey  
  Private sintRefresh  
  Private sinAdmin
    
  Private sintRecordCount  
  Private sintPageSize  
  Private sintPageNow  
  Private sintPageMax  
    
  Private sobjConn  
    
  Private sstrPageList  
  Private aUrl,sN
  Private surl1,sU,ssurl
    
  Private Sub Class_Initialize  
   Call ClearVars()  
  End Sub  
     
  Private Sub Class_Terminate()  
   Set sobjConn = nothing  
  End Sub  
    
  Public Sub ClearVars()  
   sbooInitState = False  
   sstrCookiesName = ""  
   sstrPageUrl = ""  
   sstrPageVar = "page"  
   sstrTableName = ""  
   sstrFieldsList = ""  
   sstrCondiction = ""  
   sstrOrderList = ""  
   sstrPrimaryKey = ""  
   sintRefresh = 0 
   sinAdmin = 0  '0支持伪静态,1不支持伪静态 ,2为支持自定义选项
     
   sintRecordCount = 0  
   sintPageSize = 0  
   sintPageNow = 0  
   sintPageMax = 0  
  End Sub  
    
  Rem ## 保存记录数的 Cookies 变量  
  Public Property Let strCookiesName(Value)  
   sstrCookiesName = Value  
  End Property  
    
  Rem ## 转向地址  
  Public Property Let strPageUrl(Value)  
   sstrPageUrl = Value  
  End Property  
    
  Rem ## 表名  
  Public Property Let strTableName(Value)  
   sstrTableName = Value  
  End Property  
    
  Rem ## 字段列表  
  Public Property Let strFieldsList(Value)  
   sstrFieldsList = Value  
  End Property  
    
  Rem ## 查询条件  
  Public Property Let strCondiction(Value)  
   If Value <> "" Then  
    sstrCondiction = " WHERE " & Value  
   Else  
    sstrCondiction = ""  
   End If  
  End Property  
    
  Rem ## 排序字段, 如: [ID] ASC, [CreateDateTime] DESC  
  Public Property Let strOrderList(Value)  
   If Value <> "" Then  
    sstrOrderList = " ORDER BY " & Value  
   Else  
    sstrOrderList = ""  
   End If  
  End Property  
    
  Rem ## 用于统计记录数的字段  
  Public Property Let strPrimaryKey(Value)  
   sstrPrimaryKey = Value  
  End Property  
    
  Rem ## 每页显示的记录条数  
  Public Property Let intPageSize(Value)  
   sintPageSize = toNum(Value, 20)  
  End Property  
    
  Rem ## 数据库连接对象  
  Public Property Let objConn(Value)  
   Set sobjConn = Value  
  End Property  
    
  Rem ## 当前页  
  Public Property Let intPageNow(Value)  
   sintPageNow = toNum(Value, 1)  
  End Property  
    
  Rem ## 页面参数  
  Public Property Let strPageVar(Value)  
   sstrPageVar = Value  
  End Property  
    
  Rem ## 是否刷新. 1 为刷新, 其他值则不刷新  
  Public Property Let intRefresh(Value)  
   sintRefresh = toNum(Value, 0)  
  End Property 
   
  Rem ## 是否后台. 0 为不是, 1为是  
  Public Property Let inAdmin(Value)  
   sinAdmin = toNum(Value, 0)  
  End Property    
    
  Rem ## 获得当前页  
  Public Property Get intPageNow()  
   intPageNow = singPageNow  
  End Property  
    
  Rem ## 分页信息  
  Public Property Get strPageList()  
   strPageList = sstrPageList  
  End Property  
    
  Rem ## 取得记录集, 二维数组或字串, 在进行循环输出时必须用 IsArray() 判断  
  Public Property Get arrPage()  
   If Not sbooInitState Then  
    Exit Property  
   End If  
     
   Dim srs, ssql ,aTempUrl 
   ssql = "SELECT " & sstrFieldsList & _  
    " FROM " & sstrTableName & _  
    sstrCondiction & _  
    sstrOrderList  

   Set srs = Server.CreateObject("Adodb.RecordSet")  
   srs.open ssql, sobjConn, 1, 1  
   If Not(srs.eof or srs.bof) Then  
    srs.PageSize = sintPageSize  
    srs.AbsolutePage = sintPageNow  
    If Not(srs.eof or srs.bof) Then  
     arrPage = srs.getrows(sintPageSize)  
    Else  
     arrPage = ""  
    End If  
   Else  
    arrPage = ""  
   End If  
   srs.close  
   Set srs = nothing  
  End Property  
    
  Rem ## 初始化记录数  
  Private Sub InitRecordCount()  
   sintRecordCount = 0  
   If Not(sbooInitState) Then Exit Sub  
   sintTmp = toNum(sstrCookiesName, -1)  
   If ((sintTmp < 0) Or (sintRefresh = 1))Then  
    Dim ssql, srs  
    ssql = "SELECT COUNT(" & sstrPrimaryKey & ") FROM " & sstrTableName & sstrCondiction  
    Set srs = sobjConn.Execute(ssql)  
    If srs.eof or srs.bof Then  
     sintTmp = 0  
    Else  
     sintTmp = srs(0)  
    End If  
    sintRecordCount = sintTmp  
   Else  
    sintRecordCount = sintTmp  
   End If  
  End Sub  

  Rem ## 初始化分页信息  
  Private Sub InitPageInfo()  
   sstrPageList = ""  
   If Not(sbooInitState) Then Exit Sub  
   Dim surl     
   surl = sstrPageUrl
     
   If Int(WR_Setting(9)) = 0 Then sinAdmin = 1
   If sinAdmin = 2 Then If DB1 <> "" or DB2 <> "" or DB3 <> "" or DB4 <> "" or DB5 <> "" or DB6 <> "" or DB7 <> "" or DB8 <> "" or DB9 <> "" or DB10 <> "" Then sinAdmin = 1:surl = "" Else sinAdmin = 0
   If surl = "" Then sinAdmin = 1
   Select Case Int(sinAdmin)
     Case 0
       If surl <> "" Then surl = right(surl,len(surl)-len(WR_Setting(3)))
	 Case 1
	   Dim aTempUrl
       If PageName = "" Or IsNUll(PageName) Then PageName = Request.ServerVariables("url")
       If aTempUrl = "" Or IsNUll(aTempUrl) Then aTempUrl = Request.QueryString
       aTempUrl = Split(aTempUrl,"&")
       For sN = 0 To UBound(aTempUrl)
         If aTempUrl(sN) <> "" and Instr(Ucase("&"&aTempUrl(sN)),"&PAGE=") = 0 Then
           If aUrl = "" Then aUrl = aTempUrl(sN) Else aUrl = aUrl & "&" & aTempUrl(sN)
         End If
       Next
       surl = aUrl
       If surl <> "" Then surl = "?"&surl:surl = Replace(surl,"&&","&")
       surl = PageName & surl
       If Instr(1, surl, "?", 1) > 0 Then  
        surl = surl & "&" & sstrPageVar & "="  
       Else  
        surl = surl & "?" & sstrPageVar & "="  
       End If  
   End Select
   If sintPageNow <= 0 Then sintPageNow = 1  
   If sintRecordCount mod sintPageSize = 0 Then  
    sintPageMax = sintRecordCount \ sintPageSize  
   Else  
    sintPageMax = sintRecordCount \ sintPageSize + 1  
   End If  
   If sintPageNow > sintPageMax Then sintPageNow = sintPageMax  

	  sstrPageList = "<span class=Page>" & sintPageNow & "/" & sintPageMax & "页</span>"
	  
	  If sintPageNow > 1 Then
		  sstrPageList = sstrPageList & "<a href='"&GetPageUrl(1,surl)&"'><span class=Page>首页</span></a>"
	      sstrPageList = sstrPageList & "<a href='"&GetPageUrl(sintPageNow-1,surl)& "'><span class=Page>上一页</span></a>"
		  For sN = sintPageNow-4 To sintPageNow-1
		    If sN > 0 Then 
			  sstrPageList = sstrPageList & "<a href='"&GetPageUrl(sN,surl)& "'><span class=Page>" & sN & "</span></a>"
	        End If
		  Next
	  End If
	  
	  If sintPageMax > 1 Then
		sstrPageList = sstrPageList & "<span class=Page_1>" & sintPageNow & "</span>"
	  End If
	  
	  If sintPageMax-sintPageNow > 0 Then
		    For sN = sintPageNow+1 To sintPageNow+5
		      If sN <= sintPageMax Then 
			    sstrPageList = sstrPageList & "<a href='"&GetPageUrl(sN,surl)&"'><span class=Page>" & sN & "</span></a>"
	          End If
		    Next
		    sstrPageList = sstrPageList & "<a href='"&GetPageUrl(sintPageNow+1,surl)& "'><span class=Page>下一页</span></a>"
		    sstrPageList = sstrPageList & "<a href='"&GetPageUrl(sintPageMax,surl)& "'><span class=Page>尾页</span></a>"
	  End If
      sstrPageList = "<div id=Page>"&sstrPageList&"<div id=clearboth></div></div>"
      If sintRecordCount = 0 Then sstrPageList = ""
  End Sub  
    
  Private function GetPageUrl(p,surl)
   Select Case Int(sinAdmin)
     Case 0
	   surl = Replace(surl,"/","")
	   surl1 = Split(surl,"_")
	   ssurl = ""
	   For sU=0 To UBound(surl1)
	     If ssurl = "" Then
	       ssurl = surl1(sU)
	     Else
	       If UBound(surl1) > 1 Then
	         If sU = 2 Then
	           ssurl = ssurl & "_" &p
		     Else
	           ssurl = ssurl & "_" &surl1(sU)
		     End IF
		   Else '礼品分页
		     ssurl = ssurl & "_" &p
		   End If
	     End If
	   Next
	   ssurl = WR_Setting(3)&ssurl&"/"
	 Case 1
       ssurl = surl & p
   End Select
   ssurl = Replace(ssurl,"??","?")
   GetPageUrl = ssurl
  End function  
  
  Rem ## 长整数转换  
  Private function toNum(s, Default)  
   s = s & ""  
   If s <> "" And IsNumeric(s) Then  
    toNum = CLng(s)  
   Else  
    toNum = Default  
   End If  
  End function  
    
  Rem ## 类初始化  
  Public Sub InitClass()  
   sbooInitState = True  
   If Not(IsObject(sobjConn)) Then sbooInitState = False  
   Call InitRecordCount()  
   Call InitPageInfo()     
  End Sub  
End Class  
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -