ASP中轻松实现记录集分页
类别: ASP教程
大家都知道在Dreamwerver中可以很方便地实现记录集的分页显示,但是生成的代码的确很庞大,影响了网页的显示速度,看起来条理也不是很清晰,那么,可不可以用简单的方式实现同样的功能呢?当然可以,笔者通过以下一些简单的代码就实现了记录集的分页显示,现在拿出来大家一起分享。
主要代码如下:
<%
If rs1.recordcount>0 Then ’ 记录集不为空则处理记录
rs1.pagesize = 10 ’ 设置每页显示的记录数
num=rs1.recordcount ’ 记录总数
pagenum=rs1.pagecount ’ 页总数
page=request("page") ’ 获取页码的原始信息
’ 处理页码原始信息的开始!
If page <> "" then
page = cint(page)
if err.number <> 0 then
err.clear
page = 1
end if
if page < 1 then
page = 1
end if
else
page = 1
End if
if page*rs1.pagesize > num and not((page-1)*rs1.pagesize < num)then
page=1
end if
’ 处理页码原始信息的结束!设置当前页码
rs1.absolutepage = page
%>
<!--判断当前页是否是最后一页,并根据判断设置记录的重复显示-->
<%
if page<>pagenum then
lablenum=rs1.pagesize
else
lablenum=num-(page-1)*rs1.pagesize
end if
for i=1 to lablenum
%>
<tr bgcolor="#FFFFFF">
<td height="25"><div align="center"><%=(rs1.Fields.Item("id").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("名称").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("地址").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("类别").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("最后修改").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("修改人").Value)%></div></td>
</tr>
<%
rs1.movenext
next
%>
<!--当前页的记录显示结束,以下代码为记录集分页链接代码-->
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="35">
<div align="right">
<font color="#333333">
共有 <%=num%> 个链接 |
<a href=linkadmin.asp?page=1>首页</a> |
<%if page>1 then%><a href=linkadmin.asp?page=<%=page-1%>><%end if%>上一页</a> |
<%if page<pagenum then%><a href=linkadmin.asp?page=<%=page+1%>><%end if%>下一页</a> |
<a href=linkadmin.asp?page=<%=pagenum%>>尾页</a> |
页次:<%=page%>/<%=pagenum%>页 |
共<%=pagenum%>页
</font>
</div>
</td>
</tr>
</table>
<!--记录集分页链接代码结束,记录集为空时执行以下代码-->
<%else%>
<tr bgcolor="#FFFFFF">
<td height="25" colspan="6"><div align="center"><% response.Write("没有结果可显示!") %>
</div></td>
</tr>
<%
end if
rs1.Close()
Set rs1 = Nothing
%>
好了,很简单吧!只要简单地修改一下就能插入到你的网页显示记录的地方了,赶快试试吧!
主要代码如下:
<%
If rs1.recordcount>0 Then ’ 记录集不为空则处理记录
rs1.pagesize = 10 ’ 设置每页显示的记录数
num=rs1.recordcount ’ 记录总数
pagenum=rs1.pagecount ’ 页总数
page=request("page") ’ 获取页码的原始信息
’ 处理页码原始信息的开始!
If page <> "" then
page = cint(page)
if err.number <> 0 then
err.clear
page = 1
end if
if page < 1 then
page = 1
end if
else
page = 1
End if
if page*rs1.pagesize > num and not((page-1)*rs1.pagesize < num)then
page=1
end if
’ 处理页码原始信息的结束!设置当前页码
rs1.absolutepage = page
%>
<!--判断当前页是否是最后一页,并根据判断设置记录的重复显示-->
<%
if page<>pagenum then
lablenum=rs1.pagesize
else
lablenum=num-(page-1)*rs1.pagesize
end if
for i=1 to lablenum
%>
<tr bgcolor="#FFFFFF">
<td height="25"><div align="center"><%=(rs1.Fields.Item("id").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("名称").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("地址").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("类别").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("最后修改").Value)%></div></td>
<td><div align="center"><%=(rs1.Fields.Item("修改人").Value)%></div></td>
</tr>
<%
rs1.movenext
next
%>
<!--当前页的记录显示结束,以下代码为记录集分页链接代码-->
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="35">
<div align="right">
<font color="#333333">
共有 <%=num%> 个链接 |
<a href=linkadmin.asp?page=1>首页</a> |
<%if page>1 then%><a href=linkadmin.asp?page=<%=page-1%>><%end if%>上一页</a> |
<%if page<pagenum then%><a href=linkadmin.asp?page=<%=page+1%>><%end if%>下一页</a> |
<a href=linkadmin.asp?page=<%=pagenum%>>尾页</a> |
页次:<%=page%>/<%=pagenum%>页 |
共<%=pagenum%>页
</font>
</div>
</td>
</tr>
</table>
<!--记录集分页链接代码结束,记录集为空时执行以下代码-->
<%else%>
<tr bgcolor="#FFFFFF">
<td height="25" colspan="6"><div align="center"><% response.Write("没有结果可显示!") %>
</div></td>
</tr>
<%
end if
rs1.Close()
Set rs1 = Nothing
%>
好了,很简单吧!只要简单地修改一下就能插入到你的网页显示记录的地方了,赶快试试吧!
- 上一篇: SESSION 详解
- 下一篇: 简单验证码的生成及显示
-= 资 源 教 程 =-
文 章 搜 索