各位大虾,我是新手,请帮帮我吧。好几天了,怎么就弄不明白。

asmzwh 2003-08-19 09:52:51
请你们看看我下边的代码问题处在什么地方,按“确定”按钮能按查询条件进行查询,但按“下一页”时查询的是所有数据,不知怎么回事,请指点,谢谢!!
由于一次发不下,我分几页分发。请给我看看。
<html>

<body topmargin="0" leftmargin="0">

<%
sequipmentname=Request.form("EquipmentNameEdit")
sequipmentname=replace(sequipmentname,"'","''")

sspec=request("SpecEdit")
sspec=replace(sspec,"'","''")

smodel=request("ModelEdit")
smodel=replace(smodel,"'","''")

sTechnicstatus=request("TechnicstatusEdit")
sTechnicstatus=replace(sTechnicstatus,"'","''")

sLeavePlace=request("LeavePlaceEdit")
sLeavePlace=replace(sLeavePlace,"'","''")

sUseUnit=request("UseUnitEdit")
sUseUnit=replace(sUseUnit,"'","''")

PageShowSize = 10 '每页显示多少个页
MyPageSize = 15 '每页显示多少条新闻

if Not IsNumeric(Request("page")) Or IsEmpty(Request("page")) Or Request("page") <=0 Then
MyPage=1
Else
MyPage=Int(Abs(Request("page")))
End if


sqlstr="select * from DeviceDeskBookMtbl where ifunused=1 "

if sequipmentname<>"" then
sqlstr=sqlstr+" and Devicename like '%"& sequipmentname &"%' "
end if

if sspec<>"" then
sqlstr=sqlstr+" and spec like '%"& sspec &"%' "
end if

if smodel<>"" then
sqlstr=sqlstr+" and Type like '%"& smodel &"%' "
end if

if sTechnicstatus<>"" then
sqlstr=sqlstr+" and Techstatus like '%"& sTechnicstatus &"%' "
end if

if sLeavePlace<>"" then
sqlstr=sqlstr+" and BeLongBuild like '%"& sLeavePlace &"%' "
end if

if sUseUnit<>"" then
sqlstr=sqlstr+" and useunit like '%"& sUseUnit &"%' "
end if

set rs=server.createobject("adodb.recordset")
rs.source=sqlstr

rs.Open rs.Source,conn,1,1

If Not rs.eof then
rs.PageSize = MyPageSize
MaxPages = rs.PageCount
rs.absolutepage = MyPage
total = rs.RecordCount
end if


%>
...全文
33 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjh6of6agriculture 2003-08-19
  • 打赏
  • 举报
回复
你在点下一页时其他查询条件也要跟着走啊!
wjh6of6agriculture 2003-08-19
  • 打赏
  • 举报
回复
你在点下一页时其他查询条件也要跟着走啊!
xxrl 2003-08-19
  • 打赏
  • 举报
回复
第二,上面的通用分页程序不支持带参数传递的,所以请你在你的源代码的链接出加上要传的参数,然后调用下面的我自己改进的通用带参数处理分页程序。

<%
'+++++++++++++++++++++++++++++++++++++
'◆模块名称: 公共翻页模块(改进版)
'◆文 件 名: TurnPage.asp
'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)
'◆输 出: 记录集翻页显示功能
'◆改进作者: xxrl(孔曰成仁,孟曰取E)
'+++++++++++++++++++++++++++++++++++++
'
Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数;
Dim TotalPage '总页数
Dim PageNo '当前显示的是第几页
Dim RecordCount '总记录条数
Rs_tmp.PageSize = PageSize
RecordCount = Rs_tmp.RecordCount
TotalPage = INT(RecordCount / PageSize * -1)*-1
PageNo = Request.QueryString ("PageNo")
'直接输入页数跳转;
If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")
'如果没有选择第几页,则默认显示第一页;
If PageNo = "" then PageNo = 1
If RecordCount <> 0 then
Rs_tmp.AbsolutePage = PageNo
End If

'获取当前文件名,使得每次翻页都在当前页面进行;
Dim fileName,postion
fileName = Request.ServerVariables("script_name")
postion = InstrRev(fileName,"/")+1
'取得当前的文件名称,使翻页的链接指向当前文件;
fileName = Mid(fileName,postion)

if instr(1,trim(request.servervariables("query_string")),"id")>0 then
if instr(1,trim(request.servervariables("query_string")),"PageNo")>0 then
fileName = fileName&"?"&mid(trim(request.servervariables("query_string")),1,instrrev(trim(request.servervariables("query_string")),"="))
else
fileName = fileName&"?"&trim(request.servervariables("query_string"))
end if
end if
%>
<table border=0 width='100%'>
<tr>
<td align=left> 总页数:<font color=#ff3333><%=TotalPage%></font>页
当前第<font color=#ff3333><%=PageNo%></font>页</td>
<td align="right">
<%If RecordCount = 0 or TotalPage = 1 Then
Response.Write "首页|前页|后页|末页"
Else%>
<a href="<%=fileName%>
<%if instr(1,trim(request.servervariables("query_string")),"id")>0 then
if instr(1,trim(request.servervariables("query_string")),"PageNo")>0 then
response.write "1"
else
response.write "&PageNo=1"
end if
else
response.write "?PageNo=1"
end if%>

">首页|</a>
<%If PageNo - 1 = 0 Then
Response.Write "前页|"
Else%>
<a href="<%=fileName%>
<%if instr(1,trim(request.servervariables("query_string")),"id")>0 then
if instr(1,trim(request.servervariables("query_string")),"PageNo")>0 then
else
response.write "&PageNo="
end if
else
response.write "?PageNo="
end if%>

<%=PageNo-1%>">前页|</a>
<%End If

If PageNo+1 > TotalPage Then
Response.Write "后页|"
Else%>
<a href="<%=fileName%>
<%if instr(1,trim(request.servervariables("query_string")),"id")>0 then
if instr(1,trim(request.servervariables("query_string")),"PageNo")>0 then
else
response.write "&PageNo="
end if
else
response.write "?PageNo="
end if%><%=PageNo+1%>">后页|</a>
<%End If%>

<a href="<%=fileName%><%if instr(1,trim(request.servervariables("query_string")),"id")>0 then
if instr(1,trim(request.servervariables("query_string")),"PageNo")>0 then
else
response.write "&PageNo="
end if
else
response.write "?PageNo="
end if%><%=TotalPage%>">末页</a>
<%End If%></td>
</tr>
</table>
<%End Sub%>


具体什么意思,我想你应该能看的懂
xxrl 2003-08-19
  • 打赏
  • 举报
回复
首先给你一个通用分页程序

<%
'+++++++++++++++++++++++++++++++++++++
'◆模块名称: 公共翻页模块
'◆文 件 名: TurnPage.asp
'◆传入参数: Rs_tmp (记录集), PageSize (每页显示的记录条数)
'◆输 出: 记录集翻页显示功能
'+++++++++++++++++++++++++++++++++++++
'
Sub TurnPage(ByRef Rs_tmp,PageSize) 'Rs_tmp 记录集 ; PageSize 每页显示的记录条数;
Dim TotalPage '总页数
Dim PageNo '当前显示的是第几页
Dim RecordCount '总记录条数
Rs_tmp.PageSize = PageSize
RecordCount = Rs_tmp.RecordCount
TotalPage = INT(RecordCount / PageSize * -1)*-1
PageNo = Request.QueryString ("PageNo")
'直接输入页数跳转;
If Request.Form("PageNo")<>"" Then PageNo = Request.Form("PageNo")
'如果没有选择第几页,则默认显示第一页;
If PageNo = "" then PageNo = 1
If RecordCount <> 0 then
Rs_tmp.AbsolutePage = PageNo
End If

'获取当前文件名,使得每次翻页都在当前页面进行;
Dim fileName,postion
fileName = Request.ServerVariables("script_name")
postion = InstrRev(fileName,"/")+1
'取得当前的文件名称,使翻页的链接指向当前文件;
fileName = Mid(fileName,postion)
%>
<table border=0 width='100%'>
<tr>
<td align=left> 总页数:<font color=#ff3333><%=TotalPage%></font>页
当前第<font color=#ff3333><%=PageNo%></font>页</td>
<td align="right">
<%If RecordCount = 0 or TotalPage = 1 Then
Response.Write "首页|前页|后页|末页"
Else%>
<a href="<%=fileName%>?PageNo=1">首页|</a>
<%If PageNo - 1 = 0 Then
Response.Write "前页|"
Else%>
<a href="<%=fileName%>?PageNo=<%=PageNo-1%>">前页|</a>
<%End If

If PageNo+1 > TotalPage Then
Response.Write "后页|"
Else%>
<a href="<%=fileName%>?PageNo=<%=PageNo+1%>">后页|</a>
<%End If%>

<a href="<%=fileName%>?PageNo=<%=TotalPage%>">末页</a>
<%End If%></td>
</tr>
</table>
<%End Sub%>

甘泉123 2003-08-19
  • 打赏
  • 举报
回复
参数传过来
anita2li 2003-08-19
  • 打赏
  • 举报
回复
你按下一页时候已经没有保留你的查询条件了﹐所以就查出了所有数据﹐用Session(“quertstring”) = Request.QueryString保存查询条件吧。
Brookes 2003-08-19
  • 打赏
  • 举报
回复
你得下一页只有一个页数参数传递,其他参数都没有,因此sequipmentname,smodel。。。。说有参数都是空的!

解决方案:把这些参数也一一写到你上一页下一页的连接处,和page参数一起传递!
good luck!
asmzwh 2003-08-19
  • 打赏
  • 举报
回复
接上:
</tr>
<tr>
<td bgcolor="#FFFFFF" height="25" width="782" colspan="8" style="font-size: 9pt; font-family: 宋体">
<font face="宋体">
共 <%=total%> 条,当前第 <%=Mypage%>/<%=Maxpages%>
页,每页 <%=MyPageSize%> 条

<%
if sequipmentname="" then
response.write("sequipmentname")
else
response.write(sequipmentname)
end if
url="EquipmentUnuseMess.asp?"
PageNextSize=int((MyPage-1)/PageShowSize)+1
Pagetpage=int((total-1)/rs.PageSize)+1

if PageNextSize >1 then
PagePrev=PageShowSize*(PageNextSize-1)
Response.write "<a class=black href='" & Url & "page=" & PagePrev & "' title='上" & PageShowSize & "页'>上一翻页</a> "
Response.write "<a class=black href='" & Url & "page=1' title='第1页'>页首</a> "
end if
if MyPage-1 > 0 then
Prev_Page = MyPage - 1
Response.write "<a class=black href='" & Url & "page=" & Prev_Page & "' title='第" & Prev_Page & "页'>上一页</a> "
end if

if Maxpages>=PageNextSize*PageShowSize then
PageSizeShow = PageShowSize
Else
PageSizeShow = Maxpages-PageShowSize*(PageNextSize-1)
End if
If PageSizeShow < 1 Then PageSizeShow = 1
for PageCounterSize=1 to PageSizeShow
PageLink = (PageCounterSize+PageNextSize*PageShowSize)-PageShowSize
if PageLink <> MyPage Then
Response.write "<a class=black href='" & Url & "page=" & PageLink & "'>[" & PageLink & "]</a> "
else
Response.Write "<B>["& PageLink &"]</B> "
end if
If PageLink = MaxPages Then Exit for
Next

if Mypage+1 <=Pagetpage then
Next_Page = MyPage + 1
Response.write "<a class=black href='" & Url & "page=" & Next_Page & "' title='第" & Next_Page & "页'>下一页</A>"
end if

if MaxPages > PageShowSize*PageNextSize then
PageNext = PageShowSize * PageNextSize + 1
Response.write " <A class=black href='" & Url & "page=" & Pagetpage & "' title='第"& Pagetpage &"页'>页尾</A>"
Response.write " <a class=black href='" & Url & "page=" & PageNext & "' title='下" & PageShowSize & "页'>下一翻页</a>"
End if
%>

</font>



</table>



</body>

</html>

asmzwh 2003-08-19
  • 打赏
  • 举报
回复
接上:
<table border="0" cellpadding="0" cellspacing="1" width="775" bgcolor="#6097D0" height="32" style="font-family: 宋体; font-size: 9pt">
<tr>
<td colspan="8" bgcolor="#B0D1E6" height="50" width="794" style="font-family: 隶书; font-size: 22pt">
<p align="center"><b><font size="5" face="黑体">设备闲置库信息</font></b></td>
</tr>

<form method="POST" action="EquipmentUnuseMess.asp">
<tr>
<td bgcolor="#FFFFFF" height="32" width="196" colspan="2" style="font-family: 宋体; font-size: 9pt">
<font face="宋体">设备名称 <input type="text" name="EquipmentNameEdit" size="15" value="<%=Request("EquipmentNameEdit")%>" onkeydown="if(event.keyCode==13)this.form.submit()"></font><font face="宋体" size="2"></font>
</td>
<td bgcolor="#FFFFFF" height="32" width="197" colspan="2" style="font-family: 宋体; font-size: 9pt">
<p align="left"><font face="宋体">规    格 <input type="text" name="SpecEdit" size="12" value="<%=Request("SpecEdit")%>" onkeydown="if(event.keyCode==13)this.form.submit()"></font></p>
</td>
<td bgcolor="#FFFFFF" height="32" width="194" colspan="2" style="font-family: 宋体; font-size: 9pt">
<p align="left"><font face="宋体">型    号 <input type="text" name="ModelEdit" size="13" value="<%=Request("ModelEdit")%>" onkeydown="if(event.keyCode==13)this.form.submit()">  </font>
</p>
</td>
<td bgcolor="#FFFFFF" height="30" width="195" colspan="2" style="font-family: 宋体; font-size: 9pt">
 
</td>
</tr>

<tr>

<td bgcolor="#FFFFFF" height="30" width="196" colspan="2" style="font-family: 宋体; font-size: 9pt">
<font face="宋体">
技术状况 <input type="text" name="TechnicstatusEdit" size="15" value="<%=Request("TechnicstatusEdit")%>" onkeydown="if(event.keyCode==13)this.form.submit()">  </font>
</td>
<td bgcolor="#FFFFFF" height="30" width="197" colspan="2" style="font-family: 宋体; font-size: 9pt">
<p align="left"><font face="宋体">存放地点 <input type="text" name="LeavePlaceEdit" size="12" value="<%=Request("LeavePlaceEdit")%>" onkeydown="if(event.keyCode==13)this.form.submit()"> </font>
</p>
</td>
<td bgcolor="#FFFFFF" height="30" width="194" colspan="2" style="font-family: 宋体; font-size: 9pt">
<font face="宋体">所属单位 <input type="text" name="UseUnitEdit" size="13" value="<%=Request("UseUnitEdit")%>" onkeydown="if(event.keyCode==13)this.form.submit()"> </font>
</td>
<td bgcolor="#FFFFFF" height="30" width="195" colspan="2" style="font-family: 宋体; font-size: 9pt">
<font face="宋体">    <input type="submit" value=" 确 定 >>" name="B1" style="font-family: 宋体; font-size: 9pt">
</font>
</td>
</tr>
</form>
<tr>
<td bgcolor="#FFFFFF" height="25" width="782" colspan="8" style="font-family: 宋体; font-size: 9pt">
<p align="left">
<font face="宋体">
共 <%=total%> 条,当前第 <%=Mypage%>/<%=Maxpages%>
页,每页 <%=MyPageSize%> 条</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" height="25" width="61" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">管理号码</font></p>
</td>
<td bgcolor="#FFFFFF" height="25" width="148" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">设备名称</font></p>
</td>
<td bgcolor="#FFFFFF" height="25" width="99" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">规格</font></p>
</td>
<td bgcolor="#FFFFFF" height="25" width="98" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">型号</font>
</td>
<td bgcolor="#FFFFFF" height="25" width="97" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">原值</font>
</td>
<td bgcolor="#FFFFFF" height="25" width="97" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">技术状况</font>
</td>
<td bgcolor="#FFFFFF" height="25" width="77" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">存放地点</font>
</td>
<td bgcolor="#FFFFFF" height="25" width="112" background="Picture/Banner2.jpg" style="font-family: 宋体; font-size: 9pt">
<p align="center"><font color="#FFFFFF" face="宋体">所属单位</font>
</td>
</tr>
<%
for i=1 to rs.PageSize
if not rs.EOF then
%>

<tr>
<td bgcolor="#FFFFFF" height="20" width="61" style="font-family: 宋体; font-size: 9pt"><%=rs("ManageNO") %></td>
<td bgcolor="#E0E7EF" height="20" width="148" style="font-family: 宋体; font-size: 9pt"><a href="EquipmentUnuseAssistantMess.asp?Mid=<%=rs("Mid")%>"><%=rs("DeviceName") %></td>
<td bgcolor="#FFFFFF" height="20" width="44" style="font-family: 宋体; font-size: 9pt"><%=rs("Spec") %></td>
<td bgcolor="#E0E7EF" height="20" width="84" style="font-family: 宋体; font-size: 9pt"><%=rs("Type") %> </td>
<td bgcolor="#FFFFFF" height="20" width="65" style="font-family: 宋体; font-size: 9pt"><%=rs("ResetValue") %> </td>
<td bgcolor="#E0E7EF" height="20" width="58" style="font-family: 宋体; font-size: 9pt"><%=rs("TechStatus") %> </td>
<td bgcolor="#FFFFFF" height="20" width="77" style="font-family: 宋体; font-size: 9pt"><%=rs("BeLongBuild") %> </td>
<td bgcolor="#E0E7EF" height="20" width="112" style="font-family: 宋体; font-size: 9pt"><%=rs("UseUnit") %> </td>

<%

rs.MoveNext
end if
Next
%>

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧