我需要在 MySQL 中进行查询。但是需要使用用户选择的选项动态地进行查询。
选项是Day、Month、Year和SellerID。
用户将选择是否要按天、月和年查看卖家的销售历史。
但是,假设他想查看2012 年 3 月的所有销售额。他将把Day留空,并收到从 3 月 1 日到 3 月 31 日的所有销售额...
也许他将选项Month 保留为空白,并设置Day=15和Year=2012,他将获得 2012 年全年的销售历史,仅每月的第 15 天。
我的程序需要构建一个完全涵盖他想要查看的内容的查询。
问题是:
我真的需要IF
在我的代码上使用数千个吗?难道没有更好的方法来做到这一点吗?
if( ($day==0) && ($month==0) && ($year>0) ){
$query.="`date`>='{$year}-01-01' AND `date`<='{$year}-12-31'";
}elseif( ($day==0) && ($month>0) && ($year>0) ){
$query.="`date`>='{$year}-{$month}-01' AND `date`<='{$year}-{$month}-31'";
}elseif{
etc...