关于查询分页的问题,请高手帮忙看看代码改下吧!!!谢谢!
asp吧
全部回复
仅看楼主
level 1
在者格2d 楼主
要求:进入页面后默认显示数据库中的全部记录,可用右下方的分页链接(上一页,下一页)进行分页。在页面上方有一查询,输入查询条件提交后页面(同一个页面上)转为显示查询出的结果,分页链接此时对查询出的结果起作用。
遇到的问题:点击“查询”按钮后,查询结果确实是所希望的结果。但不幸的是,此时点分页链接后,本来期望的是对查询出的结果进行分页,但事与愿违,它翻到了全部记录的第二页,而不是查出来的结果的第二页。
代码如下,请专家看看分页代码应该怎么改!!!
<!--#include file="../include/conn.asp"-->
<!--#include file="../include/chkadmin.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<link href="../css/css.css" rel="stylesheet" type="text/css">
<body style="background-color: #ffffff">
<%
dim action
action=request.QueryString("action")
Const MaxPerPage=20
dim totalPut
dim CurrentPage
dim TotalPages
dim sql
if Not isempty(request("page")) then
currentPage=Cint(request("page"))
else
currentPage=1
end if
%>
<%
set rs=server.createobject("adodb.recordset")
rs.open "select * from [item] ",conn,1,1
%>
<%
nowcity_name=request("city_name")
nowkeyword=request("school_name")
%>
<form name="form1" method="post" action="searchitem3.asp">
<table width="1060" border="1" align="center" cellpadding="0" cel
lsp
acing="0" bordercolor="#C0C0C0" style="border-collapse: collapse">
<tr align="center" valign="middle">
<td height="30" colspan="9" bgcolor="#ffffff" >
搜索:
<select name="city_name" id="city_name" >
<%
set rs_City=server.createobject("adodb.recordset")
sql="select * from [city] order by ID desc"
rs_City.open sql,conn,1,1 %>
<option value="">全部</option>
<%while not rs_City.eof%>
<option value="<%=rs_City("city_name")%>"><%=trim(rs_City("city_name"))%></option>
<%
rs_City.movenext
wend
rs_City.close
set rs_City=nothing
%>
</select>
<input name="school_name" type="text" id="school_name" size="10" maxlength="30">
<input name="submit" type="submit" id="submit" value="查询">
</td></tr></table></form>
<br>
<%
Dim city_name,school_name
Dim sqlstr,rs
city_name = Trim(Request.Form("city_name"))
school_name = Trim(Request.Form("school_name"))
if city_name="" and school_name=""and 1=2 Then
Response.write "<script language=*javascript*>alert(*请输入查询条件!!*);" & chr(13)
Response.write "window.document.location.href=*javascript:history.go(-1)*;</script>"
Else
Set rs=Server.Createobject("Adodb.RecordSet")
sqlstr = "Select * From [item] Where 1=1 "
If city_name<>"" Then
sqlstr = sqlstr & " and city_name=*"&city_name&"* "
End if
if school_name<>"" Then
sqlstr = sqlstr & " and school_name like *%"&school_name&"%* "
End if
sqlstr = sqlstr & " Order By id"
**response.write sqlstr
rs.Open sqlstr,Conn,1,1
%>
<table width="1060" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#C0C0C0" style="border-collapse: collapse">
<tr align="center" valign="middle">
<td height="30" colspan="9" bgcolor="#dbe7f3">
<p align="center"><span style="vertical-align: middle"><font color="#000000"><strong>项目信息</strong></font></span></td>
</tr>
<tr align="center" valign="middle">
<td height="36" colspan="9" bgcolor="#ffffff"><div align="left" style="line-height:normal">  现有项目<font color="#FF0000"><%=rs.recordcount%></font>个</div></td>
</tr>
<tr align="center" valign="middle">
<td width="6%" bgcolor="#ffffff"> </td>
<td width="7%" height="30" bgcolor="#ffffff"><span class="style10">序号</span></td>
<td width="7%" bgcolor="#ffffff" style="line-height:normal">所属市</td>
<td width="11%" bgcolor="#ffffff" style="line-height:normal">所属区县</td>
<td width="14%" bgcolor="#ffffff" style="line-height:normal">项目类别</td>
<td width="13%" bgcolor="#ffffff" style="line-height:normal">申报时间</td>
<td width="31%" bgcolor="#ffffff"><span class="style10">项目名称</span></td>
<td width="11%" bgcolor="#ffffff"><span class="style10">详情</span></td>
</tr>
<% if err.number<>0 then
response.write "<p align=*center*>数据库中暂时无数据</p>"
end if
if rs.eof And rs.bof then
Response.Write "<p align=*center*>没有记录!</p>"
else
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
showContent
showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
showContent
showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
else
currentPage=1
showContent
showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
end if
end if
end if
*=============分页类代码结束%>
<%*=============循环体开始
sub showContent
dim i
dim rs1(20)
i=0
do while not rs.eof%>
<%
set rs1(i)=server.createobject("adodb.recordset")
rs1(i).open "select * from [unit] where id="&rs("unit_id"),conn,1,1
%>
<form action="showitem.asp" method="post" name="form<%=i%>" id="form<%=i%>">
<tr align="center" valign="middle">
<td bgcolor="#ffffff"><input type="checkbox" name="range" value="<%=rs("id")%>"></td>
<td height="40" bgcolor="#ffffff"><span class="style10"><%=rs("id")%><input name="id" type="hidden" value="<%=rs("id")%>" id="id">
</span></td>
<td align="center" bgcolor="#ffffff"><span class="style10"><%=rs("city_name")%></span></td>
<td align="center" bgcolor="#ffffff" style="line-height:normal"><%=rs("district_name")%></td>
<td align="center" bgcolor="#ffffff" style="line-height:normal"><%=rs("class")%></td>
<td align="center" bgcolor="#ffffff" style="line-height:normal"><%=rs("time")%></td>
<td bgcolor="#ffffff" align="center"><span class="style10"><%=rs("school_name")%></span></td>
<td bgcolor="#ffffff" align="center">
<a href="showaudit.asp?id=<%=rs("id")%>">详细</a></td>
</tr>
</form>
<%
rs1(i).close *释放资源
set rs1(i)=nothing
%>
<%i=i+1
if i>=MaxPerPage then Exit Do
rs.movenext
loop
rs.close *释放资源
set rs=nothing
End Sub
*=============循环体结束%>
<%*=============放置分页显示开始
Function showpage(totalnumber,maxperpage,filename)
Dim n
If totalnumber Mod maxperpage=0 Then
n= totalnumber \ maxperpage
Else
n= totalnumber \ maxperpage+1
End If %> <tr align="center" valign="bottom">
<td height="15" colspan="9" bgcolor="#ffffff"><form method=Post action=<%=filename%>>
<%If CurrentPage<2 Then %>
首 页 上一页
<% Else %>
<a href=<% = filename %>?page=1>首 页</a> <a href=<% = filename %>?page=<% = CurrentPage-1 %>>上一页</a>
<% End If
If n-currentpage<1 Then %>
下一页 尾 页
<% Else %>
<a href=<% = filename %>?page=<% = (CurrentPage+1) %>>下一页</a> <a href=<% = filename %>?page=<% = n %>>尾 页</a>  
<% End If %>
页次:<b><font color=red>
<% = CurrentPage %>
</font></b>/<b>
<% = n %>
</b>页 <b><%=maxperpage%></b>个记录/页 共<b><%=totalnumber %></b>个记录 转到:
<select name="cndok" onChange="javascript:location=this.options[this.selectedIndex].value;">
<%for i = 1 to n
if i = CurrentPage then%>
<option value="<% = filename %>?page=<%=i%>" selected>第<%=i%>页</option>
<%else%>
<option value="<% = filename %>?page=<%=i%>">第<%=i%>页</option>
<%end if
next%>
</select></form></td></tr>
<%End Function
*=============放置分页显示结束%>
</table>
</body>
</html>
2014年09月01日 02点09分 1
1