本页面以表格的形式分页显示出所有记录。实现过程如下:
1、使用一个包含文件,创建一个数据库连接对象;
2、创建一个记录集对象;
3、创建一个表格,第一行用来显示字段名;
4、判断记录指针是不是到了记录的头部或尾部之外,若是显示提示信息,若不是,则开始进行提取当前页的每一条记录和进行分页;
5、通过do while 循环语句,将当前页的每一条记录读取出来;
6、通过for 循环将除当前页码之外的每一个页码做一个超连接;
7、关闭记录集对象并释放其所占用的所有资源;
8、关闭连接对象并释放其所占用的所有资源。
<%@language="vbscript"%>
<!--使用一个包含文件,创建一个数据库连接对象-->
<!--#include file="connections/conn.asp" -->
<%
'创建一个记录集对象。
set rs_booklist=server.createobject("adodb.recordset")
sql="select bookid, bookname, bnumber from db_bookinfo order by bnumber desc,bookname"
rs_booklist.open sql,conn,1,3
%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>图书列表</title>
<link href="style.css" rel="stylesheet">
<style type="text/css">
<!--
body,td,th {
font-size: 11pt;
color: #009999;
line-height: 1.5;
}
body {
background-image: url(images/bg1.jpg);
}
-->
</style>
</head>
<body leftmargin="0" topmargin="0">
<div align="center">
<!--创建一个表格,第一行用来显示字段名。-->
<table width="644" border="1" bordercolor="#cccc99" background="images/bg.jpg">
<tr>
<td height="20"><div align="center"><strong>书号</strong></div></td>
<td height="20"><div align="center"><strong>书名</strong></div></td>
<td height="20"><div align="center"><strong>数量</strong></div></td>
<td height="20"> </td>
</tr>
<!--*******分页开始******************-->
<%
'判断记录指针是不是到了记录的头部或尾部之外,若是显示提示信息,若不是,则开始进行提取当前页的每一条记录和进行分页。
if rs_booklist.bof and rs_booklist.eof then
response.write "没有数据"
else
'分页显示
dim page_size '此变量用来存放每一页的记录数。
dim page_nonce '此变量用来存放当前页的页码。
dim page_total '此变量用来存放总页数。
page_size=7 '将第一页记录数设置为7条。
rs_booklist.pagesize=page_size '将page_size变量中的值赋给rs_booklist记录集对象的页面大小(pagesize)属性。
page_total=rs_booklist.pagecount '将rs_booklist记录集对象的页面个数(pagecount)属性赋给变量page_total。
'下面5句,是判断网页是不是刚打开,若是,则将1赋给变量page_nonce(即当前页为第一页),
'若不是,则将由request对象的querystring集合从http查询字符串中获取来的变量值(当前页码)赋给变量page_nonce。
if request.querystring("page_nonce")<>"" then
page_nonce=cint(request.querystring ("page_nonce"))
else
page_nonce=1
end if
'将当前页码赋给记录集对象的表示当前记录页号的属性(absolutepage)。
rs_booklist.absolutepage=page_nonce
dim i
i=page_size
'通过do while 循环语句,将当前页的每一条记录读取出来。
do while not rs_booklist.eof and i>0
i=i-1
response.write "<tr align='center'>"
response.write "<td height='10'>" & rs_booklist("bookid") & "</td>"
response.write "<td height='10'>" & rs_booklist("bookname") & "</td>"
response.write "<td height='10'>" & rs_booklist("bnumber") & " </td>"
%>
<td width="25" height='10'><div align="center"><a href="buycar_add.asp?bookid=<%= rs_booklist("bookid") %>" target="txtframe"><img src="images/add.gif" alt="添加至购物车" width="18" height="18" border="0" align="middle"></a></div></td>
<%
'将记录指针移动到下一条记录。
rs_booklist.movenext
loop
response.write "</table>"
'开始做分页连接。
response.write "<p align='center'>分页: "
'通过for 循环将除当前页码号之外的每一个页码号做一个超连接,
for j=1 to page_total
if j=page_nonce then
response.write j & " "
else
response.write "<a href='booklist.asp?page_nonce=" & j & "'>" & j & "</a> "
end if
next
end if
rs_booklist.close
set rs_booklist=nothing
conn.close
set conn=nothing
%>
</table>
</dir>
</body>
</html> |