有a、b、c、d四个布尔值,根据其值生成SQL语句。
如果全False,生成:
Select * From DataBase;
如果全True,生成:
Select * From DataBase Where zhia='a' and zhib='b' and zhic='c' and zhid='d';
如果a、c为True,b、d为False,则生成:
Select * From DataBase Where zhia='a' and zhic='c';我是用If语句逐一判断的,根据组合一共写了14段语句。
求助,有没有简单一点的写法。因为4个值还会增加。
如果全False,生成:
Select * From DataBase;
如果全True,生成:
Select * From DataBase Where zhia='a' and zhib='b' and zhic='c' and zhid='d';
如果a、c为True,b、d为False,则生成:
Select * From DataBase Where zhia='a' and zhic='c';我是用If语句逐一判断的,根据组合一共写了14段语句。
求助,有没有简单一点的写法。因为4个值还会增加。
解决方案 »
- 关于PHP做前台首页和后台首页的问题(请教大大!)
- 跪求解决:PHP has encountered an Access Violation at 02095EF7
- 非常非常菜的问题,大家帮帮忙
- php中碰到的一个很奇怪的一个问题??
- 高分:找懂PHP的帮忙翻译下代码成asp.net
- cvs login 报错!!!急~~~
- 求助:两段php脚本为什么调试不出结果?
- 显示不同城市的天气预报
- PHP绘图后无法在浏览器中正确显示问题
- 上传文件时如何在网页上自动做一个标题链接,使点击标题自动再把上传的文件下载下来?
- php判断数据重复
- 各位大神,求助! 写了一段php,连接mysql之后,谷歌浏览器可以显示连接数据库成功,但IE和firefox提示需要下载PHP,是什么情况
伪码
if(a) where .= " and zhia='a'"
if(b) where .= " and zhia='b'"
if(c) where .= " and zhia='c'"
if(d) where .= " and zhia='d'"
"Select * From DataBase while 1 " . where为什么是 zhia='a' and zhib='b' and zhic='c' and zhid='d'; 呢?
zhia in ('a', 'b', 'c', 'd') 不行吗?