一个分页的类

分页

<%
'-------------------------------------------
' 接口:
' 属性:
' a、tip:项目提示(如,“篇文章”);
' b、tablewidth:跳转页导航宽度
' 方法:
' a、SetRsObj()方法:设置ADODB.RECORDSET对象;
' b、ControlPages()方法:显示跳转页导航(“上一页”、“下一页”……)
' c、SetParams()方法:设置参数数组
' 范例:
' dim params(1,1)
' params(0,0) = "query" : params(0,1) = request("query")
' params(1,0) = "keyword" : params(1,1) = request("keyword")
' 该数组主要传递查询关键字(如字段关键字、时间等),第一维是参数名称,第二维是参数值:如下http://…….asp?topage=2&query=yes&keyword=a
'
' set PageCtrl = new CPageCtrl
' PageCtrl.SetRsObj (RS) '设置ADODB.RECORDSET对象,其中RS是已建立好的ADODB.RECORDSET,即所要控制的记录集
' PageCtrl.tip = "篇文章"
' PageCtrl.tablewidth = "100%"
' PageCtrl.SetParams params

' PageCtrl.DimPage (15) '分页定义,每页15条记录
' PageCtrl.ControlPages() '显示跳转页导航
'-------------------------------------------

class CPageCtrl
public tip, tablewidth
private setobjflag, rsobj, pages, record, setparamsflag, current, topage
dim params()
'----------------------------------
private sub class_initialize()
tablewidth = "100%"
end sub
'---------------------------------
public function SetRsObj(obj)
set rsobj = obj
setobjflage = true
end function
'----------------------------------

private function chksetobj()
if setobjflage <> true then response.End()
end function
'----------------------------------

public function DimPage(psize) '分页定义
dim topages
topage = request("topage")

if not rsobj.eof then

if not isempty(psize) then
rsobj.pagesize = cint(psize) '定义每页显示数目
else
rsobj.pagesize = rsobj.recordcount
end if

pages = rsobj.pagecount
record = rsobj.recordcount

if topage <> empty then
topages = CInt(topage)

if topage <= 1 then
rsobj.absolutepage = 1
elseif topages >= pages then
rsobj.absolutepage = pages
else
rsobj.absolutepage = topages
end if
end if

current = rsobj.absolutepage
end if

end function
'----------------------------------

public function SetParams(arrParams())
params = arrParams
setparamsflag = true
end function

'----------------------------------

public function controlpages()
dim url

url = "http://" & request.ServerVariables("HTTP_HOST") & request.ServerVariables("URL")

if setparamsflag = true then
row = ubound(params,1)
col = ubound(params,2)
if col <> 1 then
exit function
end if

for i = 0 to row
if params(i,0) <> empty then
condition = condition & "&" & params(i,0) & "=" & params(i,1)
'生成参数
end if
next
end if

response.write "<table width='" & tablewidth & "' border='0' cellspacing='0' cellpadding='0'>"
response.write "<form action='" & url & "' method='post'>"
response.write "<tr> "
response.write "<td height='20'> 目前共有 <font color='red'><b>" & record & "</b></font> "& tip & " 当前分页状况 <font color='red'><b>" & current & "/" & pages & "</b></font></td>"

if current <> 1 then
response.write "<td width='40' align='center' height='20'>"
response.write "<a href='" & url & "?topage=1" & condition & "'>首 页</a>"
response.write "</td>"
response.write "<td width='44' align='center' height='20'>"
response.write "<a href='" & url & "?topage=" & current-1 & condition & "'>上一页</a>"
response.write "</td>"
else
response.write "<td width='40' align='center' height='20'>"
response.write "<font color='#999999'>首 页</font>"
response.write "</td>"
response.write "<td width='44' align='center' height='20'>"
response.write "<font color='#999999'>上一页</font>"
response.write "</td>"
end if

if current <> pages then
response.write

时间: 2024-11-03 04:32:49

一个分页的类的相关文章

一个分页的类及调用的例子_JSP编程

//PageCt.java 分页的类/****  @version        **************  Created on 2001年6月25日, 下午14:41***************************************/package vod;import java.sql.*;import java.util.*; public class PageCt{    private long l_start;   //开始纪录    private long l_

一个分页导航类

分页 <?php// +----------------------------------------------------------------------+// | PHP Version 4                                                        |// +----------------------------------------------------------------------+// | Copyright (c

一个用JSP实现的分页的类及调用方法

js|分页 //PageCt.java 分页的类/**** @version ************** Created on 2001年6月25日, 下午14:41***************************************/package vod;import java.sql.*;import java.util.*; public class PageCt{private long l_start; //开始纪录private long l_end; //结束纪录pr

php实现的分页工具类

 本文分享一个php实现的分页工具类,代码内有注释,大家参考使用吧 代码:    代码如下:     /**     * 把中间的看成一个可以滑动的固定长度的尺子     *     * 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子,     * 然后$this->_totalPages就是一个给定长度的木块,尺子在这个     * 木块上滑动.情况两种:     * 1. 尺子长度大于木块长度,那么就直接输出所有的页码:     * 2. 尺子长度小于木块长

Mybatis极其(最)简(好)单(用)的一个分页插件

以前为Mybatis分页查询发愁过,而且在网上搜过很多相关的文章,最后一个都没采用.在分页的地方完全都是手写分页SQL和count的sql,总之很麻烦. 后来有一段时间想从Mybatis内部写一个分页的实现,我对LanguageDriver写过一个实现,自动分页是没问题了,但是查询总数(count)仍然没法一次性解决,最后不了了之. 最近又要用到分页,为了方便必须地写个通用的分页类,因此又再次参考网上大多数的Mybatis分页代码,本插件主要参考自: http://blog.csdn.net/h

asp.net中使用自定义控件的方式实现一个分页控件的代码_实用技巧

一.概述 在web开发中,常常需要显示一些数据,而为了方便排版及浏览,我们只需要显示所有记录中的一部分.一般情况下,我们采用分页来实现这个需求.实现分页的方法多种多样,在本文中,我们采用了一个分页空间来记录记录总数.当前页.总页数及页面大小等.为了有一个直观上的印象,先展示该控件运行后的效果,效果如下图所示: 二.实现方案 为了实现该效果图,在asp.net中,可以使用Custom Controls and User Controls两种方式,User Controls的实现方式及其简单,而且使

java分页拦截类实现sql自动分页_java

本文实例为大家分享了完整的java分页拦截类,供大家参考,具体内容如下 package com.opms.interceptor; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import org.apache.ibatis.executor.p

常用PHP封装分页工具类

分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完整,有首页,上一页,下一页,末页和可选数量的页码数量(也就是当页面很多时,只显示依据参数传入的个数),还可以依据需求选择是否使用下拉跳转页面功能. <?php /** * 分页工具类 */ class page{ /** * 返回分页所需字符串 * @param $pageNum int 显示的页码

php编写的一个E-mail验证类

 这篇文章主要介绍了php编写的一个E-mail验证类的用法,非常的简单实用,需要的小伙伴参考下,可以直接拿走使用.     这个类可以用来检查电子邮件是否有效使用SMTP协议. 它可以连接到由地址的域名来验证的MX记录中定义的SMTP服务器. 并且模拟消息的传递,以查看是否在给定的收件人地址被接受为有效. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <!DOCTYPE HTML PUBLIC "-