| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 548 人关注过本帖
标题:关于多条件查询的问题,请指教下谢谢~~
只看楼主 加入收藏
w106817
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-1-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于多条件查询的问题,请指教下谢谢~~
具体想要实现多个多选列表中,当选中值为“所有”时就查询字段所有值否则就按条件查询,自己编了下老不对,请教下大家,谢谢~~~
<%  
sql="select * from test1 where 1=1"
if cname<>"所有" then
sql= sql & "and nname='"&cname&"'"
end if
if mima<>"所有" then
sql=sql & " and mpwd='"&mima&"'"
end if
if dz<>"所有" then
sql=sql & "and dhz='"&dz&"'"
end if
rs.open sql,conn,1,1
%>

[ 本帖最后由 w106817 于 2010-1-18 02:55 编辑 ]
搜索更多相关主题的帖子: 查询 指教 条件 
2010-01-18 02:33
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:0 
你把mpwd='"&mima&"'" 换成mpwd like '%"&mima&"%'"试试!

这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2010-01-18 08:11
chenguoxing517
Rank: 7Rank: 7Rank: 7
来 自:广东广州
等 级:黑侠
威 望:1
帖 子:154
专家分:619
注 册:2009-9-28
收藏
得分:0 
使用like,模糊查询
2010-01-18 12:48
w106817
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-1-9
收藏
得分:0 
换成like也不行,问题主要是查询结果不对,本来把3个条件都选成所有的话应该出所有记录,但是只会出现一条记录,其中一或两个条件选所有,其他不选所有查询结果也不对。只有3个都不选所有时查询结果才符合。
是否要按所有条件写出SQL语句,如
sql="select * from test1 where 1=1"
if cname<>"所有" and mima<>"所有" and dz<>"所有" then
sql= sql & "and nname='"&cname&"' and mpwd='"&mima&"' and dhz='"&dz&"'"
end if
if cname<>"所有" and mima<>"所有" and dz="所有" then
sql=sql & "and nname='"&cname&"' and mpwd='"&mima&"'"
end if
if cname<>"所有" and mima="所有" and dz<>"所有" then
sql=sql & "and nname='"&cname&"' and dhz='"&dz&"'"
end if
if cname<>"所有" and mima="所有" and dz="所有" then
sql=sql & "and nname='"&cname&"'"
end if
if cname="所有" and mima<>"所有" and dz<>"所有" then
sql=sql & "and mpwd='"&mima&"' and dhz='"&dz&"'"
end if
............
这样写太麻烦了~~~谢谢版主指教
2010-01-18 12:50
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:0 
把你的所有换成空试试,我常用的产品搜索,当地区和类别和关键字不选时,就列出所有内容,和你那个“所有”一样value为空:

       dq=trim(Request("dq"))'地区
       lb=trim(Request("lb")) '产品类别
       keyword=trim(Request("keyword"))'关键字



sql="select * from com_pd where 1=1"

if dq<>"" then
   sql=sql+" and dq = '"&dq&"'"
end if

if lb<>"" then
   sql=sql+" and pd_sort = '"&lb&"'"
end if

if keyword<>"" then
   sql=sql+" and (pd_name like '%"&keyword&"%' or pd_intro like '%"&keyword&"%')"
end if

sql=sql+" order by addtime desc"

 rs.open sql,conn,1,1

这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2010-01-18 14:11
w106817
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-1-9
收藏
得分:0 
空值的话表单提交不了,是不是自己表单没写对,下面我写的空值表单。
<input type="radio" name="user" value=""/>全部
再谢下版主经常帮我解答问题

[ 本帖最后由 w106817 于 2010-1-19 11:51 编辑 ]
2010-01-18 20:23
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1247
专家分:1909
注 册:2007-6-4
收藏
得分:20 
你那文本输入框是不作了JS判断了啊!
我用的是下拉列表做的,然后将所有类别循环出来:
<select name="s1"  style="width:180px;">
<option value="">全部</option>
<option value="采掘技术">采掘技术</option>
<option value="选矿技术">选矿技术</option>
<option value="铜冶炼技术">铜冶炼技术</option>
<option value="铜加工技术">铜加工技术</option>
</select>
要不你把你的程序和数据库传上来,我帮你改一下吧!

这里有男女系列成人用品,有时间兄弟们来看一看.
51za.
2010-01-19 08:24
快速回复:关于多条件查询的问题,请指教下谢谢~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018025 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved