标题:按条件分页查询数据时碰到了一个问题
只看楼主
rzzt
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-5
 问题点数:0 回复次数:5 
按条件分页查询数据时碰到了一个问题

各位高手,本人在做一个按条件分页查询数据时碰到了这样一个问题:

什么条件也不选时,显示所有的数据,共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>

搜索更多相关主题的帖子: 数据时 条件 文本 From 
2005-07-05 18:52
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
得分:0 
<p>共:<%=tatalpages%>页 当前为:<%=nowpage%>页 <%if nowpage>1 then%> <a href="8.asp?hm="&hm&"&page=<%=nowpage-1%>">上一页</a> <%else%> 上一页 <%end if%><%if nowpage < tatalpages then%> <a href="8.asp?hm="&hm&"&page=<%=nowpage+1%>">下一页</a> <%else%> 下一页 <%end if%> <%if nowpage<>1 then%> <a href="8.asp?hm="&hm&"&page=<%=1%>"> 首页</a> <%else%> 首页 <%end if%> <%if nowpage<>tatalpages then %> <a href="8.asp?hm="&hm&"&page=<%=tatalpages%>">末页</a> <%else%> 末页 <%end if%>

[此贴子已经被作者于2005-7-5 19:36:37编辑过]


中国人的财富网:http://www..cn/
2005-07-05 19:35
rzzt
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-5
得分:0 

还是不行呀。完整代码如下(net.mdb,自己建一个就行,表名:sjzl,字段:msisdn):哪位能解决???谢谢了!!

<form name="test" action="8.asp" method="post"> 手机号码: <input type='text' name='hm' size=14 > <input type='submit' value='提交'> </form>

<% 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.Form("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%> <% if Rs.Eof AND RS.BOF then Response.Redirect("1.html") END IF %>

<% 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 '将指针移动到当前显示页的第一条记录 %>

<% Response.Write "<Table Border=1 cellspacing=0 cellpadding=4 bordercolor=#111111 style=Border-collapse:collapse >" FdCount=Rs.Fields.Count Response.Write "<TR>" For I=0 to FdCount-1 Response.Write "<Td><Font Size=2>" &Rs.fields(i).name & " </font></Td>" next Response.Write "</TR>" %>

<% n=1 while not rs.eof and n<=rs.pagesize %> <% n=n+1 if Not Rs.Eof then Response.Write "<Tr bgcolor=#d4e8ff>" For I=0 to FdCount-1 Response.Write "<Td><Font Size=2>" & Rs.Fields(i).Value & "</Font></Td>" Next Response.Write "</Tr>" Rs.MoveNext 'Response.Write "</Table>" end if wend Response.Write "</Table>" %>

<p>共:<%=tatalpages%>页 当前为:<%=nowpage%>页 <%if nowpage>1 then%> <a href="8.asp?hm="&hm&"&page=<%=nowpage-1%>">上一页</a> <%else%> 上一页 <%end if%><%if nowpage < tatalpages then%> <a href="8.asp?hm="&hm&"&page=<%=nowpage+1%>">下一页</a> <%else%> 下一页 <%end if%> <%if nowpage<>1 then%> <a href="8.asp?hm="&hm&"&page=<%=1%>"> 首页</a> <%else%> 首页 <%end if%> <%if nowpage<>tatalpages then %> <a href="8.asp?hm="&hm&"&page=<%=tatalpages%>">末页</a> <%else%> 末页 <%end if%>

<% rs.close Set rs = Nothing conn.close set conn=nothing %>

</p>

2005-07-06 12:53
rzzt
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-5
得分:0 
怎么没人给解决,太伤人自尊了。各位不吝赐教菜鸟一下吧!!
2005-07-06 18:32
无根泉
Rank: 2
等 级:新手上路
威 望:4
帖 子:853
专家分:0
注 册:2004-11-4
得分:0 

<form name="test" action="8.asp" method="post"> 手机号码: <input type='text' name='hm' size=14 > <input type='submit' value='提交'> </form>

<% 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") %>

<% sqlstr="Select * From sjzl where 1=1 " if hm="" then sqlstr=sqlstr else sqlstr=sqlstr&" and msisdn>"&hm end if %> <%rs.open sqlstr,conn,1,3%> <% if Rs.Eof AND RS.BOF then Response.Redirect("1.html") END IF %>

<% 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 '将指针移动到当前显示页的第一条记录 %>

<% Response.Write "<Table Border=1 cellspacing=0 cellpadding=4 bordercolor=#111111 style=Border-collapse:collapse >" FdCount=Rs.Fields.Count Response.Write "<TR>" For I=0 to FdCount-1 Response.Write "<Td><Font Size=2>" &Rs.fields(i).name & " </font></Td>" next Response.Write "</TR>" %>

<% n=1 while not rs.eof and n<=rs.pagesize %> <% n=n+1 if Not Rs.Eof then Response.Write "<Tr bgcolor=#d4e8ff>" For I=0 to FdCount-1 Response.Write "<Td><Font Size=2>" & Rs.Fields(i).Value & "</Font></Td>" Next Response.Write "</Tr>" Rs.MoveNext 'Response.Write "</Table>" end if wend Response.Write "</Table>" %>

<p>共:<%=tatalpages%>页 当前为:<%=nowpage%>页 <%if nowpage>1 then%> <a href="8.asp?hm="&hm&"&page=<%=nowpage-1%>">上一页</a> <%else%> 上一页 <%end if%><%if nowpage < tatalpages then%> <a href="8.asp?hm="&hm&"&page=<%=nowpage+1%>">下一页</a> <%else%> 下一页 <%end if%> <%if nowpage<>1 then%> <a href="8.asp?hm="&hm&"&page=<%=1%>"> 首页</a> <%else%> 首页 <%end if%> <%if nowpage<>tatalpages then %> <a href="8.asp?hm="&hm&"&page=<%=tatalpages%>">末页</a> <%else%> 末页 <%end if%>

<% rs.close Set rs = Nothing conn.close set conn=nothing %>

[此贴子已经被作者于2005-7-7 8:56:20编辑过]


我很菜,但我很努力!
2005-07-07 08:20
rzzt
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-7-5
得分:0 
caiyakang,无根泉两位老师,还是不行的。麻烦你们给我调测一下。谢了
2005-07-07 14:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-22234-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.128644 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved