记录集分页-方法1
来源:互联网 发布:大乐透算法 编辑:程序博客网 时间:2024/05/01 16:08
注:本分页方法参考别人的方法,然后根据自己的理解整理而成。
因里面用的分页记录集对象是rs,所以本分页程序针对rs.open sql,conn,1,1这个记录集,如果要对其它记录集进行分页,可再自行修改一下里面的代码。
本程序优点:
1、可让用户选择每页多少条记录
2、提供下面的数据及功能:共xxx条数据 当前x/xx页 首页 上页 下页 尾页 跳到x页
本方法共4个部分,即可作为了4个单独的文件,在ASP中用include调用,也可直接在asp页面中使用
'第一部分:
<%
''''作者:allfuly 博客:http://blog.csdn.net/allfuly/
'''放在set conn=getconn()即建立数据库连接对象之前
%>
<script language="javascript">
function f_gopage(page){
form2.page.value = page;
form2.pagesize.value = form1.pagesize.value;
form2.submit();
return false;
}
</script>
<form name="form1">
<table width="495" border="0" cellpadding="0" cellspacing="0">
<tr><td width="495">
</tr>
</table>
<table width="100%" align="center" border="0">
<tr><td>
<select name="pagesize" onChange="f_gopage(1);">
<option value ="8" selected>每页显示8条记录</option>
<option value ="12">每页显示12条记录</option>
<option value ="20">每页显示20条记录</option>
</select>
</td><tr>
</table>
''第二部分
<%
rem 紧放在rs.open sql,conn,1,1即执行SQL语句的后一句
'当前页数
if request("page") <> "" then curpage = cint(request("page")) else curpage = 1
'每页显示记录数
if request("pagesize") <> "" then pagesize = cint(request("pagesize")) else pagesize = 12
recordcount = rs.recordcount
rs.pagesize = pagesize
pagecount = int(recordcount / pagesize)
if recordcount mod pagesize <> 0 then pagecount = pagecount + 1
if recordcount <> 0 then rs.AbsolutePage = curpage
rowcount = pagesize
rem 一定要把do while not rs.eof 改成do while not rs.eof and rowcount>0,否则分页时会出现问题
%>
''第三部分
<%
'''放在rs.movenext的前面一行
rowcount = rowcount - 1
%>
'''第四部分
<% ''放在rs.close前面 %>
<table width="100%">
<tr>
<td align="left" width="30%">共<%=recordcount%>条数据</td>
<td align="center" width="30%">当前<%=curpage%>/<%=pagecount%>页</td>
<td align="right" width="40%">
<%
go = 0
if curpage -1 > 0 then
go = 1
response.write "<a href=""javascript:f_gopage(1);"" class=""pg"">首页</a> "
response.Write "<a href=""javascript:f_gopage(" & (curpage - 1) & ");"" class="" pg "">上页</a> "
end if
if curpage < pagecount then
go = 1
response.write "<a href=""javascript:f_gopage(" & (curpage + 1) & ");"" class=""pg"">下页</a> "
response.write "<a href=""javascript:f_gopage(" & pagecount & ");"" class=""pg"">尾页</a> "
end if
if go =1 then
%>
跳到<select name="gopage" onChange="javascript:f_gopage(form1.gopage.value)">
<%
for i = 1 to pagecount
response.Write "<option value='"&i&"'>"&i&"</option>"
next
%>
</select>页
<%else%>
<input type="hidden" name="gopage" value="">
<%end if%>
</td>
</tr>
</table>
<input type = "hidden" name = "strid" value="<%=strid%>">
</form>
<form name="form2" action="" method="post">
<input type = "hidden" name = "page" value="<%=curpage%>">
<input type = "hidden" name = "pagesize" value="<%=pagesize%>">
</form>
<script language="javascript">
form1.pagesize.value = "<%=pagesize%>";
form1.gopage.value = "<%=curpage%>"
</script>
至此,4个部分全部写完了
调用示例:
<!--#include file="gopage11.asp"-->
<%
set conn=getconn()
set rs=server.createobject("adodb.recordset")
sql="select * from test order by fid"
rs.open sql,conn,1,1
%>
<!--#include file="gopage12.asp"-->
<table border="1" width="100%" align="center" cellpadding="0" cellspacing="0" class="table_main">
<tr class="tr_header">
<td align="center">c1</td>
<td align="center">c2</td>
<td align="center">c3</td>
<td align="center">c4</td>
<td align="center">c5</td>
<td align="center">c6</td>
</tr>
<%
if rs.eof then
response.write("</table><br><font color='#ff0000'>没有记录</font>")
end if
dim aa
aa=2
while not rs.eof and rowcount>0
%>
<% if aa mod 2 =1 then
response.Write("<tr bgcolor='#F8F0ED'>")%>
<%else%>
<tr>
<%end if
aa=aa+1
%>
<td align="center"><%=rs("fid")%></td>
<td align="center"><a href="query_mobile_area.asp?fstate=0&fmobile=<%=rs("haomaduan")%>" onClick="return newwin(this.href)"><%=rs("haomaduan")%></a></td>
<td align="center"> <%=("fstate")%></td>
<td align="center"><%=rs("op_id")%></td>
<td align="center"><%=rs("fusername")%></td>
<td align="center"><%=rs("tjdate")%></td>
</tr>
<!--#include file="gopage13.asp"-->
<%
rs.movenext
wend
%>
</table>
<!--#include file="gopage14.asp"-->
- 记录集分页-方法1
- 记录集分页-方法2
- 记录集分页显示策略五种实现方法
- 记录集分页显示策略五种实现方法
- ASP记录集分页
- 分页函数及最佳统计记录方法
- 怎样取得记录集分页?
- 记录集分页显示策略
- 记录集分页显示策略
- 分页记录
- ASP内容分页的几种方法,ASP记录内容太长,就用这几种分页方法
- 取得查询的记录总数分页显示用的方法
- DAO层实现分页的方法.代码作为记录.
- [ssh]关于ssh中查询并分页方法的记录
- VB6 数据库 分页显示记录集
- oracle结果集分页方法
- C++方法记录1
- Oracle 中取前几条记录(分页)
- 英文版Windows XP的中文支持设置
- 把字符串赋给变量,然后执行,模糊查询的问题
- 文件操作-去掉只读和删除子目录和文件
- TApplication大全
- 股神语录
- 记录集分页-方法1
- Google发布在线网页制作工具『免费100M空间』 挑战office地位 (ZT)
- TrackBack
- 使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码
- 最短路径搜索。(Amit's Thoughts on Path-Finding and A-Star)
- 简单实现全屏对话框
- JavaScript 学习笔记 3
- 记录集分页-方法2
- 简单SNMP管理程序的VC++代码实例实现