![]() |
#2
hu9jj2012-08-22 20:33
|
和之前很多人遇到的问题一样,我们条件查询后不能点下一页,点下一页是全部数据的下一页,而不是带条件查询的下一页(嗯,这个,应该说清楚了吧?)
我有两个页面,一个是Search.asp用表单来输入查询条件, SearchEnd.asp接收表单的查询条件并显示查询结果。在论坛里搜索到https://bbs.bccn.net/thread-164379-1-1.html,看后有点启发,不过还是搞不定!他最后问题解决了,但是不知道这个response.redirect怎么用呀?写在什么地方呢?
下面是SearchEnd.asp部分代码:

'接收查询条件,
Dim cat
cat=0
ChaXunM=Trim(Replace(Request.Form("ChaXunM"),"'",""))
BaoGaoXH=Trim(Replace(Request.Form("BaoGaoXH"),"'",""))
'此处为省略200字... ...
'=============================================================================================================================
'If条件查询语句
sql="select * from Reports where "
if ChaXunM<>"" then
sql=sql&" ChaXunM = '"&ChaXunM&"' "
cat=1
end if
if BaoGaoXH<>"" and cat=1 then
sql=sql&" and BaoGaoXH = '"&BaoGaoXH&"' "
cat=1
elseif BaoGaoXH<>"" then
sql=sql&" BaoGaoXH = '"&BaoGaoXH&"' "
cat=1
end if
'此处省略500字... ...
'==============================================================================================================================
'判断查询条件是否为空
If cat=0 then
sql="select * from Reports order by id desc"
ElseIf cat=1 then
sql=sql&"order by id desc"
End If
’==============================================================================================================================
'下面抄了https://bbs.bccn.net/thread-164379-1-1.html代码
page = request("Page")
''如果page是空,说明是一次新查询
if page = "" Or IsNull(page) Then
session("searcheSql") = Sql ''新查询时把带有查询条件的SQL存放到session中
elseif session("searcheSql") = "" then
Sql = session("searcheSql") ''翻页时从SESSION中读取带有查询条件的SQL
end if
If Page = "" Or Not IsNumeric(Page) Then
Page = 1
End If
'===============================================================================================================================
'我自己的分页代码
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
onepage=20
rs.pagesize=onepage
pages=rs.pagecount
pump=onepage*(page-1)
'此处省略200字... ...
'==============================================================================================================================
’这里是要显示的查询结果......
'=============================================================================================================================
'关键之处终于到了:我的页面跳转链接
if page<6 then
firstnum=1
lastnum=6
if lastnum>pages then lastnum=pages
else
firstnum=page-3
lastnum=page+3
if lastnum>pages then lastnum=pages
end if
'下面是显示 1 2 3 4 5 6 ...的链接
<a href="?action=search&page=1"><</a>
<%for i=firstnum to lastnum%>
<a href="?&page=<%=i%>"><%=i%></a>
<%next%>
<a href="?h&page=<%=pages%>"> ></a>
感谢你有耐心看完,感谢帮助!
[ 本帖最后由 towering 于 2012-8-22 18:22 编辑 ]