各位高手,本人在做一个按条件分页查询数据时碰到了这样一个问题:
什么条件也不选时,显示所有的数据,共9页,很正常 现在加了一个文本域,点查询选择符合条件的数据(假设有7页),第一页很正常,显示共:7页,但是:点"下一页",应该显示共:7页,但显
示的共:9页。
问题出在: 刚开始文本域不为空,sqlstr="Select * From sjzl where msisdn >"&hm 显示出符合条件的数据 (7页) 但点"下一页"后,页面重新提交,此时文本域为空了,sqlstr="Select * From sjzl " 显示全部数据(9页)
请问各位老师怎么解决?菜鸟等待。。。
以下是代码,文件名:8.asp:
<% Set conn = Server.CreateObject("ADODB.Connection") strcon="provider=microsoft.jet.oledb.4.0;data source="& _ server.mappath("net.mdb") conn.Open strcon %>
<% dim m,n set rs=server.CreateObject("adodb.recordset") hm=request("hm") %> <% if hm="" then sqlstr="Select * From sjzl " end if
if hm<>"" then sqlstr=" Select * From sjzl where msisdn >"&hm %> <% end if rs.open sqlstr,conn,1,3 rs.pagesize=20 '定义一页显示的记录数目 tatalrecord=rs.recordcount '获取记录总数目 tatalpages=rs.pagecount '获取分页的数目 rs.movefirst nowpage=request("page") '用request获取当前页数,注意page是自己定义的变量并非函数 if nowpage&"x"="x" then '处理页码为空时的情况 nowpage=1 else nowpage=cint(nowpage) '将页码转换成数字型 end if rs.absolutepage=nowpage '将指针移动到当前显示页的第一条记录 %>
<% '显示数据部分略 %>
<p>共:<%=tatalpages%>页 当前为:<%=nowpage%>页 <%if nowpage>1 then%> <a href="8.asp?page=<%=nowpage-1%>">上一页</a> <%else%> 上一页 <%end if%>
<%if nowpage < tatalpages then%> <a href="8.asp?page=<%=nowpage+1%>">下一页</a> <%else%> 下一页 <%end if%> <%if nowpage<>1 then%> <a href="8.asp?page=<%=1%>"> 首页</a> <%else%> 首页 <%end if%> <%if nowpage<>tatalpages then %> <a href="8.asp?page=<%=tatalpages%>">末页</a> <%else%> 末页 <%end if%>
<% rs.close Set rs = Nothing conn.close set conn=nothing %>
</p> <form name="form1" method="post" action="8.asp"> 手机号码: <input name="hm" type="text" size="12" maxlength="11"> <input type="submit" name="Submit" value="查询"> </form>