asp页面中如何使页面自动查询,而不需要点查询按钮。附页面代码。

zhiyue 2009-01-13 11:18:05
<%
Set ConA = Server.CreateObject("ADODB.Connection")
conA.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & SerVer.MapPath(Application("U_Path") &("/sinanews/admin/news.mdb"))
dim s_sql
dim date1,date2
if Request.ServerVariables("Request_Method")="POST" then
s_date1=Request.Form("text1")
s_date2=Request.Form("text2")
else
s_date2=""
end if
if Request.Form("fl")="1" then
s_sql="select * from tz where id>='" & s_date1 & "' and id<='"&s_date2&"' order by id1 desc "
else
s_sql="select * from tz where id>='" & s_date1 & "' and id<='"&s_date2&"' and fl='"& Request.Form("fl") &_
"' order by id1 desc "
end if

%>
<body bgcolor="#BBBBFF">
<p align="center"><b> 通知查询</b></p>
<form method="POST" action ="../tz/tzcx.asp"">
<P align=center>查询日期从
<INPUT id=text1 name=text1 value=<%=s_date1%>> 到
<INPUT id=text2 name=text2 value=<%=s_date2%>> 
<label>
<select name="fl" id="fl">
<option value="1">全部</option>
<option value="安全">安全</option>
<option value="日常">日常</option>
<option value="培训">培训</option>
</select>
</label>
 <input type="submit" value="查询" name=save class="button" onclick="true" ></P>
<P align=center>
<font size="2">请确认日期格式为yyyy-mm-dd</font></P>


<table border="0" width="100%" bordercolordark="#000000" cellspacing="1" cellpadding="0" bgcolor="#000000">
<tr>
<td width="15%" align="center" bgcolor="#FFFFFF"><b>日期</b></td>
<td width="10%" align="center" bgcolor="#FFFFFF"><b>分类</b></td>
<td width="25%" align="center" bgcolor="#FFFFFF"><b>摘要</b></td>
<td width="40%" align="center" bgcolor="#FFFFFF"><b>内容</b></td>
<td width="5%" align="center" bgcolor="#FFFFFF"><b>附件</b></td>
<td width="5%" align="center" bgcolor="#FFFFFF"><b>ID号</b></td>
</tr>
<% 'Set RS1 = Cona.Execute(s_sql)
set rs1=server.CreateObject("ADODB.RecordSet")
rs1.Open s_sql,conn,1,1
Do While Not RS1.eof %>
<tr align =center >
<td valign="middle" bgcolor="#FFFFFF"><%=rs1("id")%></td>
<td valign="middle" bgcolor="#FFFFFF"><%=rs1("fl")%></td>
<td valign="middle" bgcolor="#FFFFFF"><%=rs1("zy")%></td>
<td valign="middle" bgcolor="#FFFFFF" ><%=rs1("nr")%></td>
<% FileName =RS1("file_ID")

if FileName &""<>"" then
%>
<td valign="middle" bgcolor="#FFFFFF" align="center"><a href="<%="../tz/upload/" & FileName %>" target="_blank"><img src="../images/open.gif" alt="打开" border="0" width="18" height="13"></A></td>
<%Else%>
<td valign="middle" bgcolor="#FFFFFF" align="center">--</td>
<%End If%>

<td valign="middle" bgcolor="#FFFFFF"><%=rs1("ID1")%></td>
</tr>
<%RS1.Movenext
Loop %>
<%RS1.Close
Cona.Close
%>

</table>
</form>
我就想让页面在第一次打开时就显示查询内容,页不是点“查询”按钮显示内容。
...全文
225 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhiyue 2009-01-19
  • 打赏
  • 举报
回复
我自己找到了问题的所在了,不是什么语句出错,也不是取数据的问题,而是一个很微的地方多了一点点不是错的错。
<label>
<select name="fl" id="fl">
<option value="1">全部 </option>
<option value="安全">安全 </option>
<option value="日常">日常 </option>
<option value="培训">培训 </option>
</select>
</label>
多了红色字的部份,一去掉就OK了,呵呵,很妙吧。

结了,多谢楼上几位了。

md5e 2009-01-13
  • 打赏
  • 举报
回复
查询条件可以通过URL或POST传递
所以一般情况下,使用Request("")
zhiyue 2009-01-13
  • 打赏
  • 举报
回复
没人帮忙吗?
cdcjk 2009-01-13
  • 打赏
  • 举报
回复
学习
ld2099 2009-01-13
  • 打赏
  • 举报
回复
在rs1.Open s_sql,conn,1,1 之前先Response.Write s_Sql,看看有没有内容
zhiyue 2009-01-13
  • 打赏
  • 举报
回复
我在数据库里验证了带条件的sql语句,没有出错。
ld2099 2009-01-13
  • 打赏
  • 举报
回复
s_date1=Request.Form("text1") 
s_date2=Request.Form("text2")
If s_date1="" Or IsNull(s_date1) Then s_date1=Date()-1
If s_date2="" Or IsNull(s_date2) Then s_date2=Date()
fl=Request.Form("fl")
If fl="" Or IsNull(fl) Or fl="1" Then
s_Sql="select * from tz where id>='" & s_date1 & "' and id <='"&s_date2&"' order by id1 desc"
Else
s_sql="select * from tz where id>='" & s_date1 & "' and id <='"&s_date2&"' and fl='"& fl &"' order by id1 desc "
End If
ld2099 2009-01-13
  • 打赏
  • 举报
回复
你输出一下s_Sql

Response.Write s_Sql看看是什么,如果什么页面,则说明某个地方还有提交之后才能显示的限制
zhiyue 2009-01-13
  • 打赏
  • 举报
回复
9 楼 ld2099
我从新改了一下,查询的首次语句。我不带任何条件进去,就一句“s_sql="select top 1 * from tz "”这样在打开页面时就会自动出现结果,如果将查询条件放进去,就不会自动出现了,要点查询按钮才行。怪怪的。
zhiyue 2009-01-13
  • 打赏
  • 举报
回复
还是不行耶
ld2099 2009-01-13
  • 打赏
  • 举报
回复
晕,敲个回车就发了


s_date1=Request.Form("text1") 
s_date2=Request.Form("text2")
If s_date1="" Or IsNull(s_date1) Then s_date1=Date()-1
If s_date2="" Or IsNull(s_date2) Then s_date2=Date()
fl=Request.Form("fl")
If fl="" Or IsNull(fl) Or fl="1" Then
s_Sql="select * from tz where id>='" & s_date1 & "' and id <='"&s_date2&"' order by id1 desc"
Else
s_sql="select * from tz where id>='" & s_date1 & "' and id <='"&s_date2&"' and fl='"& Request.Form("fl") &_ "' order by id1 desc "
End If
ld2099 2009-01-13
  • 打赏
  • 举报
回复
关键是你一打开这个页面查询的默认条件是什么?

if Request.ServerVariables("Request_Method")="POST" then
s_date1=Request.Form("text1")
s_date2=Request.Form("text2")
else
s_date2=""
end if
if Request.Form("fl")="1" then
s_sql="select * from tz where id>='" & s_date1 & "' and id <='"&s_date2&"' order by id1 desc "
else
s_sql="select * from tz where id>='" & s_date1 & "' and id <='"&s_date2&"' and fl='"& Request.Form("fl") &_
"' order by id1 desc "
end if
layers2323 2009-01-13
  • 打赏
  • 举报
回复
很简单,一进这个页面,就post到查询页面。
<script>
form.action=""
form.method=""
form.target=""
from.submit
</script>


或者把这个asp的代码放到本页面。
laogou2 2009-01-13
  • 打赏
  • 举报
回复
XMLhttp
zhiyue 2009-01-13
  • 打赏
  • 举报
回复
大家帮帮忙呀,试了很多方法,还是达不到目地呀。
zhiyue 2009-01-13
  • 打赏
  • 举报
回复
不是很明白,能具体一点吗?

28,390

社区成员

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

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