如何从今天到本月结束生日?

时间:2015-05-14 13:31:45

标签: php mysqli

我希望从今天到本月底为客户提供生日。

这是我的表

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;
}

如何从今天到最后一天的这个月结束?

注意:在这里,年份不应该采取,只有一个月和一天。例如,今天和本月结束之间的这个月和日。

由于

3 个答案:

答案 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;
}