asp 查询分页后第一页正常第二页显示无记录
<%sql="select*fromcallhistory3wherefrom_no='"&trim(request("from_no"))&"'orderbyidcal...
<%
sql="select * from callhistory3 where from_no='"&trim(request("from_no"))&"' order by idcallhistory3 asc "
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,3,1
if rs.eof And rs.bof then '判断如果没有数据的话
Response.Write "<p align='center' class='contents'> 对不起,暂无通话记录!</p>"
else
rs.pagesize=30 '每页显示的数据
SafeRequest(request("page"))
page=clng(request("page"))
if page<1 then page=1 '如果当前页数小于 1 则页数等于 1,道理同下
if page>rs.pagecount then page=rs.pagecount '如果当前页数大于总页数,则当前页数等于总页数。
'例:一共有10页,但当前页数是100,此时当前页数大于总页数根本没有信息或者导致程序出错。
show rs,page
sub show(rs,page) '定义过程
rs.absolutepage=page
for i=1 to rs.pagesize
%>
<tr bgcolor="#FFFFFF" align="center">
<td><%=rs("from_no")%></td>
<td><%=rs("to_no")%></td>
<td><%=rs("answertime")%></td>
<td><%=rs("endtime")%></td>
<td><%=rs("duration")%></td>
<td><%=rs("rate")%></td>
<td><%=rs("totalcost")%></td>
</tr>
<%
rs.movenext
if rs.eof then exit for '如果数据到了最后一条跳出并结束循环
next
end sub '过程结束
%>
<tr bgcolor="#FFFFFF" align="center">
<form name="form" action="" method="get">
<td colspan="8">
<table width="600" class="xx" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="0" align="center">
<%
if page<>1 then
response.Write(" <a href="&path&"?page=1>第一页</a>")
response.Write(" <a href="&path&"?page="&(page-1)&" >上一页</a>")
end if
response.Write(" 当前 <font color='#FF0000'>"&page&"</font> 页")
response.Write(" <font color='#FF0000'>"&rs.recordcount&"</font> 条/<font color='#FF0000'>"&rs.pagecount&"</font> 页")
if page<>rs.pagecount then
response.Write(" <a href="&path&"?page="&(page+1)&">下一页</a>")
response.Write(" <a href="&path&"?page="&rs.pagecount&">最末页</a>")
end if
response.Write(" 跳转到<input type='text' size='2' name='page'>页<input type='submit' value='GO'>")
end if
rs.close
set rs=nothing
%>
2 展开
sql="select * from callhistory3 where from_no='"&trim(request("from_no"))&"' order by idcallhistory3 asc "
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,3,1
if rs.eof And rs.bof then '判断如果没有数据的话
Response.Write "<p align='center' class='contents'> 对不起,暂无通话记录!</p>"
else
rs.pagesize=30 '每页显示的数据
SafeRequest(request("page"))
page=clng(request("page"))
if page<1 then page=1 '如果当前页数小于 1 则页数等于 1,道理同下
if page>rs.pagecount then page=rs.pagecount '如果当前页数大于总页数,则当前页数等于总页数。
'例:一共有10页,但当前页数是100,此时当前页数大于总页数根本没有信息或者导致程序出错。
show rs,page
sub show(rs,page) '定义过程
rs.absolutepage=page
for i=1 to rs.pagesize
%>
<tr bgcolor="#FFFFFF" align="center">
<td><%=rs("from_no")%></td>
<td><%=rs("to_no")%></td>
<td><%=rs("answertime")%></td>
<td><%=rs("endtime")%></td>
<td><%=rs("duration")%></td>
<td><%=rs("rate")%></td>
<td><%=rs("totalcost")%></td>
</tr>
<%
rs.movenext
if rs.eof then exit for '如果数据到了最后一条跳出并结束循环
next
end sub '过程结束
%>
<tr bgcolor="#FFFFFF" align="center">
<form name="form" action="" method="get">
<td colspan="8">
<table width="600" class="xx" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="0" align="center">
<%
if page<>1 then
response.Write(" <a href="&path&"?page=1>第一页</a>")
response.Write(" <a href="&path&"?page="&(page-1)&" >上一页</a>")
end if
response.Write(" 当前 <font color='#FF0000'>"&page&"</font> 页")
response.Write(" <font color='#FF0000'>"&rs.recordcount&"</font> 条/<font color='#FF0000'>"&rs.pagecount&"</font> 页")
if page<>rs.pagecount then
response.Write(" <a href="&path&"?page="&(page+1)&">下一页</a>")
response.Write(" <a href="&path&"?page="&rs.pagecount&">最末页</a>")
end if
response.Write(" 跳转到<input type='text' size='2' name='page'>页<input type='submit' value='GO'>")
end if
rs.close
set rs=nothing
%>
2 展开
3个回答
展开全部
好多人没注意这个,因为你第一页的时候trim(request("from_no"))会获取搜索表单的值,到第二页trim(request("from_no"))就没值了
解决办法:
第一种办法
获取from_no并复制给session 代码如下:
if(trim(request("from_no"))<>"") then
session("from_no")=trim(request("from_no"))
end if
sql="select * from callhistory3 where from_no='"&session("from_no")&"' order by idcallhistory3 asc "
下面代码不动
第二种办法
把trim(request("from_no"))的值加在“上一页”,“下一页”的连接上,这样加的地方比较多,建议用第一种办法
response.Write(" <a href="&path&"?page=1&from_no="&trim(request("from_no"))&">第一页</a>")
解决办法:
第一种办法
获取from_no并复制给session 代码如下:
if(trim(request("from_no"))<>"") then
session("from_no")=trim(request("from_no"))
end if
sql="select * from callhistory3 where from_no='"&session("from_no")&"' order by idcallhistory3 asc "
下面代码不动
第二种办法
把trim(request("from_no"))的值加在“上一页”,“下一页”的连接上,这样加的地方比较多,建议用第一种办法
response.Write(" <a href="&path&"?page=1&from_no="&trim(request("from_no"))&">第一页</a>")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs.open sql,conn,3,1
recordset的锁类型错误了吧 1好像是只读
rs.open sql,conn,3,2
最起码也该这样吧
recordset的锁类型错误了吧 1好像是只读
rs.open sql,conn,3,2
最起码也该这样吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看看是不是第一页刚好就把所有的记录都显示完了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询