如何实现多功能查询

fkueyga6 2008-09-07 04:32:09
<form method="post" ACTION="sousuo1.asp">
<td colspan="2" align="center"><div align="center">第一次交费查询:
<input name="x5" id="x5" size="15">
<select name="select">
<option value="t36">交费时间</option>
</select>
<input name="submit" type="submit" value="搜索">
</div></td>
</form>

<form method="post" ACTION="sousuo1.asp">
<td colspan="2" align="center"><div align="center">第一次交费查询:
<input name="x6" id="x6" size="15">
<select name="select">
<option value="t37">收款人</option>
</select>
<input name="submit" type="submit" value="搜索">
</div></td>
</form>

查询功能选择:<input name="x7" id="x7" size="15">
<select name="select">
<option value="t38">并且</option>
<option value="t39">或者</option>
</select>
问:1、如何在x5与x6之间加上x7来进行查询???
2、怎么让x5,x6只用一个搜索按纽,如果x5输入了内容,x6没有输入内容,那么就只搜索x5的内容,如果x5,x6都输入了内容,那么就以x7的功能选择做为前提来决定如何查询
...全文
147 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
starkingygp 2008-09-08
  • 打赏
  • 举报
回复
放在一个表单里

如果x5输入了内容,x6没有输入内容,那么就只搜索x5的内容,如果x5,x6都输入了内容,那么就以x7的功能选择做为前提来决定如何查询

流程你已经理清了,代码很容易写出来
fkueyga6 2008-09-08
  • 打赏
  • 举报
回复
x1= request.form("x1")
x2= request.form("x2")
x3= request.form("x3")
SerachType= request.form("select")
dim Search
if Search="a" then
Search = "and"
else
Search = "or"
end if
if x1="" and x2="" and x3="" then
response.write("请输入查询条件")
response.end
elseif x1="" then
sql = "select * from xygl where t2 like '%"&x2&"%' "&Search&" t3 like '%"&x3&"%'"
elseif x2="" then
sql = "select * from xygl where t1 like '%"&x1&"%' "&Search&" t3 like '%"&x3&"%'"
elseif x3="" then
sql = "select * from xygl where t1 like '%"&x1&"%' "&Search&" t2 like '%"&x2&"%'"
else
sql = "select * from xygl where t1 like '%"&x1&"%' "&Search&" t2 like '%"&x2&"%' "&Search&" t3 like '%"&x3&"%'"
end if

为什么不管怎么选择都是or条件,而不能达到and条件呢
jiangpingchang 2008-09-08
  • 打赏
  • 举报
回复
14楼你盗版2楼的回答
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
查询功能选择:
<select name="select">
<option value="t38">并且 </option>
<option value="t39">或者 </option>
</select> </td>
<td> <input name="submit" type="submit" value="搜索"> </td>
改成
查询功能选择:
<select name="select">
<option value="a">并且 </option>
<option value="b">或者 </option>
</select> </td>
<td> <input name="submit" type="submit" value="搜索"> </td>
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
交费时间:
<input name="x5" id="x5" size="15">

你这里写的是文本形式的,我说的是下拉列表形式的:

第一次交费查询:<input name="x5" id="x5" size="15">
<select name="select">
<option value="t36">交费时间 </option>
option value="t38">交费项目 </option> .............(如果这里这有一个呢?)
</select>
第一次交费查询:<input name="x6" id="x6" size="15">
<select name="select">
<option value="t37">收款人 </option>
<option value="t39">欠费金额 </option>.............(如果这里也有一个呢?)
</select>
<td>
查询功能选择:
<select name="select">
<option value="t38">并且 </option>
<option value="t39">或者 </option>
</select> </td>
<td> <input name="submit" type="submit" value="搜索"> </td>

jiangpingchang 2008-09-07
  • 打赏
  • 举报
回复
那就按三项或者三项以上来设计程序了!
写程序之前你都没有想好要设计几个搜索字段吗?
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
如果有三项或以上呢?
jiangpingchang 2008-09-07
  • 打赏
  • 举报
回复
不用,就用我给你写那个就可以了
sousuo1的代码那不是在下面给你写了吗
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
<form method="post" ACTION="sousuo1.asp">
<td colspan="2" align="center">缴费时间:
<input name="x5" id="x5" size="15">
</td>
<td>收款人 <input name="x6" id="x6" size="15"> </td>
<td>缴费项目 <input name="x7" id="x7" size="15"> </td>
<td>
查询功能选择:
<select name="select">
<option value="t38">并且 </option>
<option value="t39">或者 </option>
</select> </td>
<td> <input name="submit" type="submit" value="搜索"> </td>
</div> </td>
</form>

如果是这样,sousuo1.asp的代码应该怎么写?
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
if SerachType="T38" then '根据传过来的搜索条件确定查询语句里面用And 还是Or
SerachType = "and"
else
SerachType = "or"
这里是不是应该改成下面的才可以?

if SerachType="T38" then
SerachType = "and"
else
if SerachType="T39" then
SerachType = "or"

jiangpingchang 2008-09-07
  • 打赏
  • 举报
回复
<form method="post" ACTION="sousuo1.asp">
<td colspan="2" align="center">缴费时间:
<input name="x5" id="x5" size="15">
</td>
<td>收款人<input name="x6" id="x6" size="15"></td>
<td>
查询功能选择:
<select name="select">
<option value="t38">并且 </option>
<option value="t39">或者 </option>
</select> </td>
<td><input name="submit" type="submit" value="搜索"></td>
</div> </td>
</form>



sousuo1.asp的代码为
ShouFeiTime= request.form("x5") '这是接收过来的收费时间字段
ShouKuanRen = request.form("x6") '这是接收过来的收款人
SerachType= request.form("select") '这是搜索类型,或者还是并且
dim Serach
if SerachType="T38" then '根据传过来的搜索条件确定查询语句里面用And 还是Or
SerachType = "and"
else
SerachType = "or"
end if
if ShouFeiTime="" and ShouKuanRen="" then '如果两个字段都为空的话显示出错条件
response.write("请输入查询条件")
response.end
elseif ShouKuanRen="" then '如果收款人为空则搜索收费时间
sql = "select * from xygl where t36 like '%"&keyWord&"%'"
elseif ShouFeiTime="" then
sql = "select * from xygl where t37 like '%"&keyWord&"%'" '如果缴费时间为空则搜索首款人字段
else '两个字段都不为空根据得到的搜索条件进行查询
sql = "select * from xygl where t36 like '%"&keyWord&"%' "&Search&" t37 like '%"&keyWord&"%'"
end if
以下的与你原来的相同
set rs = server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
if not(rs.bof and rs.eof) then
Response.Write " <BR> <B>      结果: 共条"&rs.recordCount&"记录 </B> <UL>"
On Error Resume Next
rs.MoveFirst
Do While Not rs.eof
Response.Write " <FONT SIZE=2>id: " & rs.Fields("id") & " </FONT> - "
Response.Write "" & " <A HREF='xygl5.asp?Indexid=" & rs.Fields("id").Value & "'>" & rs.Fields("t36") & " </A> - "
Response.Write rs.Fields("t37") & ""
Response.Write " <HR SIZE=1 WIDTH=900 ALIGN=LEFT>"
rs.MoveNext
Loop
Response.Write " </UL>"
else
response.write "没找到数据!"
end if
rs.close
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
你知道在哪里看可用分还有多少吗?
fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
可我不会,呵呵,我不是说了吗,我没有学过程序,我现在做的网页都是从网上下载的现成的代码东凑西凑出来的
sy_binbin 2008-09-07
  • 打赏
  • 举报
回复
放在一个表单里

如果x5输入了内容,x6没有输入内容,那么就只搜索x5的内容,如果x5,x6都输入了内容,那么就以x7的功能选择做为前提来决定如何查询

流程你已经理清了,代码很容易写出来

fkueyga6 2008-09-07
  • 打赏
  • 举报
回复
数据库名:1.asp
表名:xygl

我现在用的查询代码是:
<%
keyWord = request("x5")
keyType = request("select")
if keyType = "t36" then
sql = "select * from xygl where t36 like '%"&keyWord&"%'"
end if
keyWord = request("x6")
keyType = request("select")
if keyType = "t37" then
sql = "select * from xygl where t37 like '%"&keyWord&"%'"
end if
set rs = server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
if not(rs.bof and rs.eof) then
Response.Write "<BR><B>      结果: 共条"&rs.recordCount&"记录</B> <UL>"
On Error Resume Next
rs.MoveFirst
Do While Not rs.eof
Response.Write "<FONT SIZE=2>id: " & rs.Fields("id") & "</FONT> - "
Response.Write "" & "<A HREF='xygl5.asp?Indexid=" & rs.Fields("id").Value & "'>" & rs.Fields("t36") & "</A> - "
Response.Write rs.Fields("t37") & ""
Response.Write "<HR SIZE=1 WIDTH=900 ALIGN=LEFT>"
rs.MoveNext
Loop
Response.Write "</UL>"
else
response.write "没找到数据!"
end if
rs.close
%>

28,408

社区成员

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

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