在ASP中轻松实现记录集分页显示
程序员文章站
2022-05-28 20:44:04
大家都知道在dreamwerver中可以很方便地实现记录集的分页显示,但是生成的代码的确很庞大,影响了网页的显示速度,看起来条理也不是很清晰,那么,可不可以用简单的方式实现同样的功能呢?当然可以,笔...
大家都知道在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"><p align="center"><%=(rs1.fields.item("id").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("名称").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("地址").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("类别").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("最后修改").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("修改人").value)%></p></td>
</tr>
<%
rs1.movenext
next
%>
<!--当前页的记录显示结束,以下代码为记录集分页链接代码-->
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="35">
<p align="right">
<font color="#333333">
共有 <%=num%> 个链接 |
<a href=linkadmin.?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>
</p>
</td>
</tr>
</table>
<!--记录集分页链接代码结束,记录集为空时执行以下代码-->
<%else%>
<tr bgcolor="#ffffff">
<td height="25" colspan="6"><p align="center"><% response.write("没有结果可显示!") %>
</p></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"><p align="center"><%=(rs1.fields.item("id").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("名称").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("地址").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("类别").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("最后修改").value)%></p></td>
<td><p align="center"><%=(rs1.fields.item("修改人").value)%></p></td>
</tr>
<%
rs1.movenext
next
%>
<!--当前页的记录显示结束,以下代码为记录集分页链接代码-->
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="35">
<p align="right">
<font color="#333333">
共有 <%=num%> 个链接 |
<a href=linkadmin.?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>
</p>
</td>
</tr>
</table>
<!--记录集分页链接代码结束,记录集为空时执行以下代码-->
<%else%>
<tr bgcolor="#ffffff">
<td height="25" colspan="6"><p align="center"><% response.write("没有结果可显示!") %>
</p></td>
</tr>
<%
end if
rs1.close()
set rs1 = nothing
%>
上一篇: Linux命令一