我希望从今天到本月底为客户提供生日。
这是我的表
id dob stid
1 1960-05-12 1389
2 1958-05-11 1389
3 1970-05-14 1389
4 1959-05-18 1389
和
function getBirthdayDate($date)
{
$dateqry='';
if($date=='today')
{
$dateqry=" AND MONTH( `dob`) = '".date("m")."' AND DAY(`dob`)='".date("d")."'";
}
else if($date=='tomorrow')
{
$dateqry=" AND MONTH( `dob`) = '".date("m")."' AND DAY(`dob`)='".date("d", strtotime("+1 day"))."'";
}
else if($date=='month')
{
$dateqry=" AND MONTH( `dob`) = '".date("m")."' AND DAY(`dob`)='".date("d")."' BETWEEN DAY(`dob`)='".date("t")."' ";
}
$sql="SELECT * FROM `customers` WHERE store_id='1389' $dateqry ";
$result=dbQuery($sql);
return $row=$result->num_rows;
}
如何从今天到最后一天的这个月结束?
注意:在这里,年份不应该采取,只有一个月和一天。例如,今天和本月结束之间的这个月和日。
由于
答案 0 :(得分:1)
您可以直接以YYYY-MM-DD
格式使用日期,mysql很好理解,所以
今天到今月结束
$last_date = date('Y-m-t');
$today = date("Y-m-d");
$dateqry = " AND `dob` >= '$today' AND `dob` <= '$last_date'";
答案 1 :(得分:1)
我假设您有一些HTML表单,您可以在其中选择是显示“今天”或“明天”或“本月”的生日吗?
你对'今天'和'明天'的条件是正确的。
对于“月”,请将您的条件更改为:
else if($date=='month') { $dateqry=" AND MONTH( `dob`) = '".date("m")."' AND DAY(`dob`) BETWEEN '".date("d")."' AND '".date("t")."' "; }
即,将BETWEEN子句用于今天的日期和月末日期
答案 2 :(得分:0)
function getBirthdayDate()
{
$dateqry='';
$today=date("Y-m-d");
$lastdate=date("Y-m-t", strtotime($today));
$dateqry=" AND `dob`>= '".$today."' AND `dob`<='".$lastdate."'";
$sql="SELECT * FROM `customers` WHERE store_id='1389' ".$dateqry." ";
$result=dbQuery($sql);
return $row=$result->num_rows;
}