ASP 多条件查询问题

bskingdee 2007-10-18 07:00:40
页面一:
<form action="w_select.asp" method="post" name="form1">
<table width="602" border="0" align="center">
<tr class="style3">
<td width="58"><span class="style8">问题搜索</span></td>
<td width="210"><input name="lu" type="text" id="lu" size="30"></td>
<td width="84"><div align="center" class="style8">
<select name="f_select" id="f_select">
<option>请选择字段</option>
<option value="xianxiang">问题描述</option>
<option value="biaoti">标题</option>
<option value="ruanjian">软件名称</option>
<option value="fangfa">解决方法</option>
<option value="zhuangtai">状态</option>
</select>
</div></td>
<td width="78"><span class="style8">
<select name="pingpai" id="pingpai">
<option>选择品牌</option>
<option value="1">金蝶</option>
<option value="2">用友</option>
<option value="3">其它</option>
</select>
</span></td>
<td width="92"><span class="style8">
<select name="mokuai" id="mokuai">
<option>选择模块</option>
<option value="01">总账管理</option>
<option value="02">报表与分析</option>
<option value="03">工资管理</option>
<option value="04">固定资产</option>
<option value="05">出纳管理</option>
<option value="06">存货核算</option>
<option value="07">仓存管理</option>
<option value="08">采购管理</option>
<option value="09">销售管理</option>
<option value="10">应收应付</option>
<option value="11">BOS</option>
<option value="12">老板通</option>
<option value="13">远程</option>
</select>
</span></td>
<td width="54"><input name="yes" type="submit" id="yes" value="搜索"></td>
</tr>
</table>
</form>
查询结果页面:

<%
dim rs,sql
set rs=Server.CreateObject("Adodb.Recordset")
if request.form("pingpai")<>"" then
sqls=sqls&"and pingpai like '%"&request.form("pingpai")&"%'"
end if
if request.form("mokuai")<>"" then
sqls=sqls&"and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")<>"" and request.form("lu")<>"" then
sql="select * from wen where "&request.form("f_select")&" like '%"&request.form("lu")&"%' "&sqls&""
else if request.form("mokuai")="" and request.form("pingpai")="" then
sql="select * from wen where "&request.form("f_select")&" like '%"&request.form("lu")&"%' "
else
sql="select * from wen order by ID desc"
end if
end if
rs.open sql,conn,1,1
%>
我什么才能实现当只输入前两个(lu,f_select)这两个条件,后两个为空的时候
就输出前两个条件的结果集。
我上面写的代码只能实现全部选择条件才能达到查询效果。。如果只选其中的一个就不行。

高手帮帮我呀。。
我要达到的效果是:

当我输入关键字:“LU”的时候其它不选择条件就显示全部记录。
如果当我输入关键字,并选择相应条件时就看条件的选择输出结果集。
其中:
lu是文本字段是输入”关键字“ f_select是选择搜索字段
pingpai和mokai是字段要加条件缩小范围的
...全文
78 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bskingdee 2007-10-20
  • 打赏
  • 举报
回复
最后结果:
<%
dim rs,sql '声明变量
set rs=Server.CreateObject("Adodb.Recordset")
if request.form("f_select")="" and request.form("pingpai")="" and request.form("mokuai")="" and request.form("lu")="" then'
sql="select * from wen"
else'否则
if request.form("f_select")<>"" then'
if request.form("f_select")="xianxiang" then
sql="select * from wen where xianxiang like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="biaoti" then
sql="select * from wen where biaoti like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="ruanjian" then
sql="select * from wen where ruanjian like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="zhuangtai" then
sql="select * from wen where zhuangtai like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="pingpai" then
sql="select * from wen where pingpai like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="fangfa" then
sql="select * from wen where fangfa like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="ptnumber" then
sql="select * from wen where ptnumber like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="fenxi" then
sql="select * from wen where fenxi like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="banben" then
sql="select * from wen where banben like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
if request.form("f_select")="window" then
sql="select * from wen where window like '%"&request.form("lu")&"%' and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
else
sql="select * from wen where (xianxiang like '%"&request.form("lu")&"%' or biaoti like '%"&request.form("lu")&"%' or ruanjian like '%"&request.form("lu")&"%' or fangfa like '%"&request.form("lu")&"%' or zhuangtai like '%"&request.form("lu")&"%') and pingpai like '%"&request.form("pingpai")&"%' and mokuai like '%"&request.form("mokuai")&"%'"
end if
end if
rs.open sql,conn,1,1'加了这么多的字段判断.主要是为了F_SELECT里面选择字段准备的.
%>
jingxiaoping 2007-10-19
  • 打赏
  • 举报
回复
<%
dim rs,sql,f_select,lu,pingpai,mokuai

f_select=request.form("f_select")
lu=request.form("lu")
pingpai=request.form("pingpai")
mokuai=request.form("mokuai")
sql="select * from wen where 1=1"
if f_select<>"" and lu<>"" then
sql=sql&" and "&f_select&" like '%"&lu&"%'"
end if
if pingpai<>"" then
sql=sql&" and pingpai like '%"&pingpai&"%'"
end if
if mokuai<>"" then
sql=sql&" and mokuai like '%"&mokuai&"%'"
end if
sql=sql&" order by id desc"
set rs=Server.CreateObject("Adodb.Recordset")
rs.open sql,conn,1,1
%>

28,391

社区成员

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

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