关于ASP分页显示(附有代码),一点迷雾?请指教
teams 2002-05-07 02:07:49 以下是我用DW UltraDev4和asp写的代码,能根据从静态页提交来的查询条件显示对应记录,并能翻页(每页显示5条记录),问题:如果从静态页(login.htm)提交要查询姓'李'的所有学生(设超过5个),在搜索结果页面(display.asp),前5条记录均是姓‘李’的学生,但点查看下一页面(从第6条开始)时,查询的不是姓'李'学生记录的第6条,而是整个表所有记录的第6条。 我想是不是发布的时候还要在web服务器上没置IIS相应的属性?
//login.htm
<html>
<form name="form1" method="post" action="display.asp">
姓名:
<input type="text" name="name" maxlength="10" size="16" >
<input type="submit" name="Submit" value="提交">
</form>
</html>
//文件名display.asp
<%@LANGUAGE="JAVASCRIPT"%>
<!--#include file="../Connections/con.asp" -->
<%
var rs__varname = "";
if(String(Request.form("name")) != "undefined") {
rs__varname = String(Request.form("name"));
}
%>
<%
var rs = Server.CreateObject("ADODB.Recordset");
rs.ActiveConnection = MM_cn_STRING;
rs.Source = "SELECT a.id bh, a.StudentID xh,b.name xm, a.Money hkje, a.Date hksj
FROM tb_PayOffLoan a inner join tb_studentbasic b on a.studentid=b.studentid W
HERE b.name like '%"+ rs__varname.replace(/'/g, "''") + "%'";
rs.CursorType = 3;
rs.CursorLocation = 2;
rs.LockType = 1;
rs.Open();
var rs_numRows = 0;
%>
<%
rs.pagesize=5;
%>
<%
if (rs.BOF && rs.EOF)
Response.Redirect("error3.htm");
%>
<%
var pages=Request("offset");
if (isNaN(pages))
pages=1;
if(pages<=0)
pages=1;
if(pages>rs.PageCount)
pages=rs.PageCount;
rs.AbsolutePage=pages;
%>
<html>
<head>
<title>学生情况</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../IMG/MYCSS.CSS" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
共搜索: 共<%=rs.PageCount%>页,本页显示第<%=pages%>页
..................
<% for (i=0;i<rs.pagesize;i++) {
if(rs.EOF)
break;
%>
---------------要循环的部分------------
<%
rs.MoveNext();
}
%>
..................
<% if(pages!=1){ %>
<a href="xg_hdxj_adv.asp?offset=1">最前页</a> <a href="xg_hdxj_a
dv.asp?offset=<%=pages-1%>">上一页</a>
<% }
if(pages!=rs.PageCount) { %>
<a href="xg_hdxj_adv.asp?offset=<%=++pages%>">下一页</a> <a href
="xg_hdxj_adv.asp?offset=<%=rs.PageCount%>">最后一页</a>
<% } %>
</body>
</html>
<%
rs.Close();
%>