分页函数

分页|函数

函数如下:
<%
private function fenye(rs, pagesize,args)
Dim intcur
Dim intpagesize
Dim total
Dim inttotal

args = split(args,",")
if Request.querystring("page")="" then
intcur=1
page = "first"
else
select case request("page")
case "first"
intcur=1
case "previous"
intcur=cint(request("curpage"))
intcur=intcur-1
case "next"
intcur=cint(request("curpage"))
intcur=intcur+1
case "last"
intcur=cint(request("lastpage"))
case else
intcur=request("page")
end select
end if
%>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" height="58">
<%
if rs.eof then
response.write "没有栏目:("
else
intpagesize=pagesize
rs.pagesize=intpagesize
if not rs.eof then
rs.AbsolutePage=intcur
end if
total=rs.recordcount
inttotal=rs.pagecount
Dim i
i = 0
%>
<table border = 1 align = center>

<tr>
<%
Dim n
n = 0
do while n <= UBound(args)%>
<th>
<%response.write args(n)%>
</th>
<%
n = n + 1
loop
%>
</tr>
<%
do while NOT rs.EOF and i<intpagesize%>
<tr>
<%
Dim l
l = 0
do while l <= UBound(args)
%>
<td>
<%=rs(args(l))%>
</td>
<%
l = l + 1
loop
%>
</tr>
<%
i = i + 1
rs.MoveNext
loop
%>
</table>
<%
end if%>
</td>
</tr>
</table>
<div align="center"><br>
<%=intcur%> /<%=inttotal%>
<% if intcur>1 then %>
<a href="index.asp?page=previous&curpage=<%=intcur%>">上一页</a>
<%else%>
上一页
<%end if
intcur=cint(intcur)
inttotal=cint(inttotal)%>
<%if intcur<inttotal then%>
<a href="index.asp?page=next&curpage=<%=intcur%>">下一页</a>
<%else%>
下一页
<%end if%>
</div>
<%
rs.close
set rs = nothing
end function
%>

测试页面如下:
<!--#include file = "fenye.inc"-->
<%
dim conn
dim connstr
dim rst
on error resume next
connstr="DBQ="+server.mappath("Nwind.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
set rst = server.createobject("adodb.recordset")
rst.open "select * from orders",conn,1,1
call fenye(rst,7,"OrderID,CustomerID,ShipVia")
rst.close
set rst = nothing
conn.close
set conn = nothing
%>

说明:
使用时在asp页面顶部加入
<!--#include file = "fenye.inc">

在需要分页的地方调用函数:
如:call fenye(rst,7,"OrderID,CustomerID,ShipVia")

函数原型:
variant fenye(recordset rs,integer pagesize,String args)

参数说明如下:
rs: 传入的recordset
n: 要求每页显示的记录数
columns: 要求显示的数据库中的字段

做这样一个分页函数是因为有时自己写分页的时候觉得不是那么方便,每个地方都写一遍很浪费,也看到很多朋友都在问这个问题,所以写这样一个函数大家参考一下吧,第一次写这种东西,感觉很低级,但是还是希望大家捧场。。。。。谢谢!!!欢迎各种意见和建议!顺便说一下,这种ado的分页方法,我觉得实在是效率很低,因为我每次只要7条记录但是却要取出一个上百条甚至上千条的纪录集,如果一个服务器端的数据量少也就罢了,如果。。。。唉。。。所以,以后会再做几个不同原理的分页函数!

时间: 2024-10-01 09:59:37

分页函数的相关文章

php分页函数示例代码分享

 这篇文章主要介绍了php分页函数示例代码,需要的朋友可以参考下 分享一例php分页函数代码,用此函数实现分页代码很不错.   代码,php分页函数.  代码如下: <?php /* * Created on 2011-07-28 * Author : LKK , http://lianq.net * 使用方法: require_once('mypage.php'); $result=mysql_query("select * from mytable", $myconn); $

两个高效的ASP分页函数

两个高效的ASP分页函数(统计记录数,分页提取记录) <% '    /*智能返回分页SQL语句*/ '    /// <summary> '    /// 功能:智能返回分页SQL语句 '    /// </summary> '    /// <param name="primaryKey">主键(不能为空)</param> '    /// <param name="queryFields">提取

ThinkPHP 分页函数的改造

首先在创建好ThinkPHP项目以后,打开根目录下的ThinkPHP/Common/functions.php(这里存放的是tp的公共函数)   添加如下代码     1 function mypage($tot,$length){ 2 $page=$_GET['p']?$_GET['p']:1; 3 $offset=($page-1)*$length; 4 $prevpage=$page-1; 5 6 $pages=ceil($tot/$length); 7 8 if($page>=$page

服务端 JScript 记录集分页函数/对象 By shawl.qiu

js|jscript|对象|分页|函数|记录集 服务端 JScript 记录集分页函数/对象 By shawl.qiu 说明:分页其实很简单的, 我都写了好几个分页函数了... 感觉 JScript 写代码比 VBScript 方便不少, 基本恋上用 类C 语法写代码, BASIC 语法快看不懂了.... 唉, 没啥好说的, 这次用 JScript 写了两个分页程序, 一个是 Jscript 对象, 一个是Jscript 函数对象, 我比较喜欢 Jscript 对象, 不需要像函数对象那样 ne

ASP分页函数

分页|函数 const MaxPerPage=18dim pageif not request("page")="" then Page=cint(request("page"))else Page=1end if dim ii=0rs.move (Page-1)*MaxPerPage 分页do while  ' 中间是循环段 i=i+1 if i>=MaxPerPage then exit do rs.movenextloop =====

ASP VBScript 分页函数

vbscript|分页|函数 作用: 为了通用性考虑, 本函数主要功能为分页导航, 定义数据库连接和调用数据在调用页操作. 1.1 函数 fPageCount 内容1.2 包含文件 abbr.asp, 非必须2.1 使用函数例12.2 使用函数例22.3 使用函数例3 注: 例中的脚本为跳转框必须 效果: -------------------------------------------------------------首页 上十 上一 1 2 3 4 5 6 7 8 9 10  下一 下

自定义PHP分页函数

分页|函数 ??每次编写列表性质的页面,几乎都要写上一段分页的程序.最近小阳终于决心一劳永逸??自定义一个分页函数,并保存在"pageft.php"文件里.要用到分页的地方,就直接包含"pageft.php"文件,并调用这个函数就行了.小阳在编写这个函数时,尽量注意了程序的可移植性和易用性,下面就是小阳编写的函数: ??好,分页函数已经写好了,保存为"pageft.php",要分页时就包含它并调用pageft()函数.不过它并没有输出任何东西,但

简单的分页函数

分页|函数 <%on error resume next'分页程序function fy(scount,pgsize,pg,url)'scount记录总数'pgsize每面记录数'pg当前页'url转向的地址,运行本函数后会在后面加上"&page=页号"dim pgcount,i,j,mh,kmh=chr(34) '不好意思,是双引号 'cint()会四舍五入,所以不得不加个kk=(scount+pgsize-1)/pgsizepgcount=cint((scount+p

一个实用的ASP分页函数,解决你重复写分页代码的烦恼

   有时候,大家是不是因为写一些重复的代码而感到烦恼呢?由于在做ASP程序时,很多时候都要用到分页,重复作分页程序错误多不说了,而且影响到作程序的积极性,故写一分页函数,方便大家调用.如下:       <%'=================   ProgrammName: 分页函数   ======================='  ================   Programmed  by  Bubuy   ====================='    ========

PHP分页函数代码(简单实用型)

准备数据: 新建一个数据库 test 执行下面的语句(新建一个表 test :id.sex.name 三个字段) CREATE TABLE `test` ( `id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `sex` INT( 1 ) NOT NULL , `name` VARCHAR( 20 ) NOT NULL ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin; 添加数据到 te