例如我在搜索DAY,MONTH,YEAR中有3个字段 用户必须单独选择或全部一起选择
日/月
日/年
月/年
DAY / MONTH
日/月/年
inputs: day month year
method: GET
选择必须在包含所有组合的任何列中搜索
表
id | day | month | year
---------------------------------------
1 | 10 | jan | 2013
2 | 25 | jun | 2013
3 | 02 | jan | 2015
SELECT * FROM mytable WHERE day = $day or month = $month or year = $year;
如果我的月份= jan应该返回1和3
如果我的我的日子= 10年,那么= 2013年应该返回1
等等
它不起作用......它只匹配一列
答案 0 :(得分:0)
您可能遇到NULL
值的问题。这可能是你想要的:
SELECT *
FROM mytable
WHERE ($day is null or day = $day) and
($month is null or month = $month) and
($year is null oryear = $year);
这假定“缺失”值为NULL
。您可能有一些其他表示(比如空字符串),在这种情况下相应地更改逻辑。