数据库提交查询如何实现满足全部条件?谢谢

bryankoul 2008-03-30 10:45:37
数据库提交查询如何实现满足全部条件?谢谢

area=trim(request("area"))
sql="select * from user where area='"&area&"

area是从前面一个表提交的,比如area在数据库里面是浦东,浦西(两个),我在前面一个表里面的表单选项有浦东,浦西,全部。
浦东和浦西都能反馈出来,但是如果我要全部(包括浦东和浦西)的where的表达式该如何写呢或者前面可以做哪些判断?
谢谢各位

...全文
316 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujinqiang 2008-04-02
  • 打赏
  • 举报
回复
SQL注入舍你其谁
直接把提交过来的数据直接拚到SQL语句中?
qwertxp 2008-04-01
  • 打赏
  • 举报
回复
LZ真懒,非的直接把提交过来的数据直接拚到SQL语句中。
SQL注入舍你其谁?
laowan688 2008-04-01
  • 打赏
  • 举报
回复
路过
sheshijie 2008-04-01
  • 打赏
  • 举报
回复
楼上正解
starsong 2008-04-01
  • 打赏
  • 举报
回复
SQL注入舍你其谁
netwar 2008-03-31
  • 打赏
  • 举报
回复
其实你可以换种方式
想想,查询全部,就相当于没条件,
我们可以假如初始化时
area=trim(request("area"))
strSQL="select * from [user] where 1=1 "
这个条件永远成立,然后再
if area<>"" then strSQL=strSQL & " and area='" & area & "'"

拼接上面的语句,
bryankoul 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 luxu001207 的回复:]
......
if area="全部" then
whereStr=" where area='浦东' and area='浦西' "
else
whereStr=" where area='"&area&"'"
end if
...
sql="select * from user "&whereStr
[/Quote]

谢谢,实现了,纠正一下,是whereStr=" where area='浦东' or area='浦西' "
Atai-Lu 2008-03-30
  • 打赏
  • 举报
回复
晕,老写成and...应该是whereStr=" where area='浦东' or area='浦西' "
Atai-Lu 2008-03-30
  • 打赏
  • 举报
回复
......
if area="全部" then
whereStr=" where area='浦东' and area='浦西' "
else
whereStr=" where area='"&area&"'"
end if
...
sql="select * from user "&whereStr
bryankoul 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 luxu001207 的回复:]
或者,选项里的全部选项的value="浦东,浦西"
然后
where instr("&area&",area)>0
[/Quote]

谢谢,我试试
Atai-Lu 2008-03-30
  • 打赏
  • 举报
回复
或者,选项里的全部选项的value="浦东,浦西"
然后
where instr("&area&",area)>0
bryankoul 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 luxu001207 的回复:]
晕...
那就加个判断啊,要不用instr来写sql语句
if area="全部" then
...
else
...
end if
[/Quote]

这个我当然想到了,问题是if area="全部" then area=什么呢,很明显where area='"&area&" 是要求表单内容的,你明白吗?我想我思路很清楚,就好比,area='"&area&" ('"&area&" 反馈了前面表单的内容,如果表单是浦东,那么area=“浦东”),但是如果是全部呢?很明显如果if area=“全部” then then area=×? 很明显×是不行的,明白吗?
Atai-Lu 2008-03-30
  • 打赏
  • 举报
回复
晕...
那就加个判断啊,要不用instr来写sql语句
if area="全部" then
...
else
...
end if
bryankoul 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luxu001207 的回复:]
引用 3 楼 luxu001207 的回复:
搜索表中的所有内容, 可以省略where子句
如果是搜索浦东、浦西,可以用where area='浦东' and area='浦西'

sorry 应该是where area='浦东' or area='浦西'
[/Quote]

我现在是从前面的页面提交表单来的,表单中是全部的话如何处理?当然表单是浦东或浦西,我的where语句能判断
bryankoul 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luxu001207 的回复:]
搜索表中的所有内容, 可以省略where子句
如果是搜索浦东、浦西,可以用where area='浦东' and area='浦西'
[/Quote]
对不起,请看清我的描述

area是从前面一个页面中的表提交的,比如area在数据库里面是浦东,浦西(两个),我在前面一个表里面的表单选项有浦东,浦西,全部。
浦东和浦西都能筛选出来,但是如果我要全部(包括浦东和浦西)的where的表达式该如何写呢或者前面可以做哪些判断?
Atai-Lu 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luxu001207 的回复:]
搜索表中的所有内容, 可以省略where子句
如果是搜索浦东、浦西,可以用where area='浦东' and area='浦西'
[/Quote]
sorry 应该是where area='浦东' or area='浦西'
Atai-Lu 2008-03-30
  • 打赏
  • 举报
回复
搜索表中的所有内容, 可以省略where子句
如果是搜索浦东、浦西,可以用where area='浦东' and area='浦西'
bryankoul 2008-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rbwang 的回复:]
表里面只有浦东和浦西连个区域吗?
如果是两个区域就直接select * from user得了
[/Quote]

还有别的字段,我举了一个字段,但是你说select * from user,和我的问题无关,并且我已经select *了,我指where的表达式,谢谢
rbwang 2008-03-30
  • 打赏
  • 举报
回复
表里面只有浦东和浦西连个区域吗?
如果是两个区域就直接select * from user得了

28,390

社区成员

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

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