ASP查询分页问题
下面代码,数据库明明有几页查询结果,但是只可以查询到第一页,点击下一页就不是查询的结果了,请指点。<!--#includefile="conndb.asp"--><%te...
下面代码,数据库明明有几页查询结果,但是只可以查询到第一页,点击下一页就不是查询的结果了,请指点。
<!--#include file="conndb.asp"-->
<%
textT=request("textT")
textT=request.form("textT")
dim rs
set rs=server.createobject("adodb.recordset")
sql="select * from khdd where ddID like '%"&textT&"%'"
set rs.activeconnection=conn
rs.cursortype=3
rs.open sql,conn,1,1
%>
<br>
<%
If rs.EOF Then
Response.Write "<tr><td colspan=10 align=center>目前还没有订单记录。</td></tr></table>"
Else
'设置每页显示记录的数量
rs.PageSize = 20
'读取参数page,表示当前页码
iPage = CLng(Request("page"))
If iPage > rs.PageCount Then
iPage = rs.PageCount
End If
If iPage <= 0 Then
iPage = 1
End If
rs.AbsolutePage = iPage
For i=1 To rs.PageSize
n = n + 1
%>
表格列表显示
<%
rs.MoveNext()
If rs.EOF Then
Exit For
End If
Next
%>
</table>
<%
'显示页码
response.write("<br>")
'显示页码
If page=1 Then
Response.Write ("第一页")
else
Response.Write ("<a href=ddkh.asp?page=1>第一页</a>")
end if
if page=1 then
response.write(" ")
response.write("上一页")
else
response.write(" ")
response.write("<a href=ddkh.asp?page="&page-1&">上一页</a>")
End If
if page=rs.pagecount then
response.write(" ")
response.write("下一页")
else
response.write(" ")
Response.Write ("<a href=searchresult.asp?page="&page+1&">下一页</font></a>")
End If
if page=rs.pagecount then
response.write(" ")
response.write("最后一页")
else
response.write(" ")
response.write("<a href=ddkh.asp?page="&rs.pagecount&">最后一页</a>")
end if
end if
%>
查看一些类似问题,大部分高手都是说参数传递有问题,请问我段代码参数传递怎么写。
jianan8610老师你的回答,我按照你的代码测试,显示结果是在页面原来有下一页的地方显示为False,还不带超链接。请问这又是什么原因啊。
五楼的高手,请问一下啊。我把参数代进去后,它可以查一页。点了下一页可以正常显示,但是再点下一页它的URL中textT= 就没有值了。也就是说现在它能查询到两页记录,这是怎么回事。 展开
<!--#include file="conndb.asp"-->
<%
textT=request("textT")
textT=request.form("textT")
dim rs
set rs=server.createobject("adodb.recordset")
sql="select * from khdd where ddID like '%"&textT&"%'"
set rs.activeconnection=conn
rs.cursortype=3
rs.open sql,conn,1,1
%>
<br>
<%
If rs.EOF Then
Response.Write "<tr><td colspan=10 align=center>目前还没有订单记录。</td></tr></table>"
Else
'设置每页显示记录的数量
rs.PageSize = 20
'读取参数page,表示当前页码
iPage = CLng(Request("page"))
If iPage > rs.PageCount Then
iPage = rs.PageCount
End If
If iPage <= 0 Then
iPage = 1
End If
rs.AbsolutePage = iPage
For i=1 To rs.PageSize
n = n + 1
%>
表格列表显示
<%
rs.MoveNext()
If rs.EOF Then
Exit For
End If
Next
%>
</table>
<%
'显示页码
response.write("<br>")
'显示页码
If page=1 Then
Response.Write ("第一页")
else
Response.Write ("<a href=ddkh.asp?page=1>第一页</a>")
end if
if page=1 then
response.write(" ")
response.write("上一页")
else
response.write(" ")
response.write("<a href=ddkh.asp?page="&page-1&">上一页</a>")
End If
if page=rs.pagecount then
response.write(" ")
response.write("下一页")
else
response.write(" ")
Response.Write ("<a href=searchresult.asp?page="&page+1&">下一页</font></a>")
End If
if page=rs.pagecount then
response.write(" ")
response.write("最后一页")
else
response.write(" ")
response.write("<a href=ddkh.asp?page="&rs.pagecount&">最后一页</a>")
end if
end if
%>
查看一些类似问题,大部分高手都是说参数传递有问题,请问我段代码参数传递怎么写。
jianan8610老师你的回答,我按照你的代码测试,显示结果是在页面原来有下一页的地方显示为False,还不带超链接。请问这又是什么原因啊。
五楼的高手,请问一下啊。我把参数代进去后,它可以查一页。点了下一页可以正常显示,但是再点下一页它的URL中textT= 就没有值了。也就是说现在它能查询到两页记录,这是怎么回事。 展开
4个回答
展开全部
textT=request("textT")
textT=request.form("textT")
将上两句改成如下
textT=request("textT")
新改的回复,新改的回复,新改的回复,新改的回复
新改的回复,新改的回复,新改的回复,新改的回复
<%
Response.Write ("<a href=searchresult.asp?page="&cint(PU)-1&"textT="&textT&">下一页</a>")
%>
注意:?page="&cint(PU)-1
注意: &"textT="&textT&"
上一页
下一页
首页
末页
都要上一个参数,这个是你查询的条件&"textT="&textT&"
没有这个,所以第一次查出信息没问题,点下一页
就不是查询的结果了
如下是一个分页代码
textT=request.form("textT")
将上两句改成如下
textT=request("textT")
新改的回复,新改的回复,新改的回复,新改的回复
新改的回复,新改的回复,新改的回复,新改的回复
<%
Response.Write ("<a href=searchresult.asp?page="&cint(PU)-1&"textT="&textT&">下一页</a>")
%>
注意:?page="&cint(PU)-1
注意: &"textT="&textT&"
上一页
下一页
首页
末页
都要上一个参数,这个是你查询的条件&"textT="&textT&"
没有这个,所以第一次查出信息没问题,点下一页
就不是查询的结果了
如下是一个分页代码
参考资料: http://hi.baidu.com/jianan8610/blog/item/67f6868806aa4591a5c2722b.html
2008-06-25
展开全部
Response.Write ("<a href=searchresult.asp?page="&page+1&">下一页</font></a>") '请楼主注意,点下一页时,你传递给searchresult.asp页面了,而你第一页,上一页,最后一页都是传递给ddkh.asp
另需要你把关键字也带入分页代码中,比如
Response.Write ("<a href=ddkh.asp?page=1&textT="&textT&">第一页</a>") '还有其它三处,就楼主自个带入即可,因为你要查询含有关键字的所有资料.
另需要你把关键字也带入分页代码中,比如
Response.Write ("<a href=ddkh.asp?page=1&textT="&textT&">第一页</a>") '还有其它三处,就楼主自个带入即可,因为你要查询含有关键字的所有资料.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用session保存查询参数,就不用传递了
<!--#include file="conndb.asp"-->
<%
textT=request("textT")
if textT<>"" then session("textT")=textT
dim rs
set rs=server.createobject("adodb.recordset")
sql="select * from khdd where ddID like '%"&session("textT")&"%'"
........................
..........
<!--#include file="conndb.asp"-->
<%
textT=request("textT")
if textT<>"" then session("textT")=textT
dim rs
set rs=server.createobject("adodb.recordset")
sql="select * from khdd where ddID like '%"&session("textT")&"%'"
........................
..........
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'来个新的分页方法
'无错分页方法
'下面这个函数可以包含在连接页面中供所有页面调用
'html-encode:格式化HTML字符(可能无法正常显示,BAIDU格式化了^_^)
function lq_code_html(lq_code_html_tmp)
if not isnull(lq_code_html_tmp) then
lq_code_html_tmp=server.htmlencode(lq_code_html_tmp)
lq_code_html_tmp=replace(lq_code_html_tmp,"\","\")
lq_code_html_tmp=replace(lq_code_html_tmp,"'","'")
lq_code_html_tmp=replace(lq_code_html_tmp,vbCrlf,"<br>")
lq_code_html = lq_code_html_tmp
end if
end function
'获取查询内容关键字由
nr=lq_code_html(Request("nr"))
'注意在查询输入表单中将输入nr的Value设置为<%=nr%>以方便下次调用
'获取页面
page=lq_code_html(Request("page"))
'如果不是数字则初始化为第一页
if not isnumeric(page) then
page=1
else
page=Clng(page)
end if
'初始化查询语句[下面fws_upfile为查询的表名]
sql="Select * from [fws_upfile]"
'如果查询关键字不为空[下面prd_file为查询的字段名]
if nr<>"" then
sql=sql&" where prd_file like '%"&nr&"%'"
end if
'设定每页的显示数量
PageSetup=8
'查询
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.open sql,conn,1,1
Rs.Pagesize=PageSetup
'总页数
TotalPage=Rs.Pagecount
TotalCode=Rs.RecordCount
if Page <1 then Page = 1
if Page > TotalPage then Page = TotalPage
'跳转到指定页数
if TotalPage>0 then Rs.absolutePage=Page
Do While Not rs.eof and i<PageSetup
'显示开始
'此处是显示代码
'显示结束
Rs.MoveNext
loop
Rs.Close
Set Rs=Nothing
'分页部分
'注意所有需要查询的数据都要传递
Response.Write "共"&TotalCode&"条"
Response.Write "第"&page&"页/共"&TotalPage&"页"
Response.Write "<a href='?menu=search&page=1&nr="&server.Urlencode(nr)&"' target='_self'>首页</a>"
Response.Write "<a href='?menu=search&page="&page-1&"&nr="&server.Urlencode(nr)&"' target='_self'>上页</a>"
Response.Write "<a href='?menu=search&page="&page&"&nr="&server.Urlencode(nr)&"' target='_self'>本页</a>"
Response.Write "<a href='?menu=search&page="&page+1&"&nr="&server.Urlencode(nr)&"' target='_self'>下页</a>"
Response.Write "<a href='?menu=search&page="&TotalPage&"&nr="&server.Urlencode(nr)&"' target='_self'>末页</a>"
'''''''''''
Conn.close
Set Conn=Nothing
'无错分页方法
'下面这个函数可以包含在连接页面中供所有页面调用
'html-encode:格式化HTML字符(可能无法正常显示,BAIDU格式化了^_^)
function lq_code_html(lq_code_html_tmp)
if not isnull(lq_code_html_tmp) then
lq_code_html_tmp=server.htmlencode(lq_code_html_tmp)
lq_code_html_tmp=replace(lq_code_html_tmp,"\","\")
lq_code_html_tmp=replace(lq_code_html_tmp,"'","'")
lq_code_html_tmp=replace(lq_code_html_tmp,vbCrlf,"<br>")
lq_code_html = lq_code_html_tmp
end if
end function
'获取查询内容关键字由
nr=lq_code_html(Request("nr"))
'注意在查询输入表单中将输入nr的Value设置为<%=nr%>以方便下次调用
'获取页面
page=lq_code_html(Request("page"))
'如果不是数字则初始化为第一页
if not isnumeric(page) then
page=1
else
page=Clng(page)
end if
'初始化查询语句[下面fws_upfile为查询的表名]
sql="Select * from [fws_upfile]"
'如果查询关键字不为空[下面prd_file为查询的字段名]
if nr<>"" then
sql=sql&" where prd_file like '%"&nr&"%'"
end if
'设定每页的显示数量
PageSetup=8
'查询
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.open sql,conn,1,1
Rs.Pagesize=PageSetup
'总页数
TotalPage=Rs.Pagecount
TotalCode=Rs.RecordCount
if Page <1 then Page = 1
if Page > TotalPage then Page = TotalPage
'跳转到指定页数
if TotalPage>0 then Rs.absolutePage=Page
Do While Not rs.eof and i<PageSetup
'显示开始
'此处是显示代码
'显示结束
Rs.MoveNext
loop
Rs.Close
Set Rs=Nothing
'分页部分
'注意所有需要查询的数据都要传递
Response.Write "共"&TotalCode&"条"
Response.Write "第"&page&"页/共"&TotalPage&"页"
Response.Write "<a href='?menu=search&page=1&nr="&server.Urlencode(nr)&"' target='_self'>首页</a>"
Response.Write "<a href='?menu=search&page="&page-1&"&nr="&server.Urlencode(nr)&"' target='_self'>上页</a>"
Response.Write "<a href='?menu=search&page="&page&"&nr="&server.Urlencode(nr)&"' target='_self'>本页</a>"
Response.Write "<a href='?menu=search&page="&page+1&"&nr="&server.Urlencode(nr)&"' target='_self'>下页</a>"
Response.Write "<a href='?menu=search&page="&TotalPage&"&nr="&server.Urlencode(nr)&"' target='_self'>末页</a>"
'''''''''''
Conn.close
Set Conn=Nothing
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询