2016-03-11 52 views
1

我是新来的人,这是我的第一个问题。那么,这里是:PHP中的日期和格式问题

我需要做的是创建一个PHP比较从数据库(mysqli查询)的生日(日期)数组到实际日期(特别是月和日,忽略年明显的原因),所以可以通过回声或其他方式确认“这个人的生日是今天”。

我无法从sql数组格式化日期。这是我到目前为止:

<?php 

$link = mysqli_connect("localhost", "root", "", "employees"); 
$actualdate = date('md'); 


if (mysqli_connect_errno()) { 
    printf("Conection failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$query = "SELECT BirthDate FROM Birthdays"; 


if ($result = mysqli_query($link, $query)) { 

    while ($row = mysqli_fetch_row($result)) { 

     if (in_array($actualdate, $row)) { 
     echo "Birthday!"; 
     } else { 
     echo "No birthday";   
     } 

    } 

    mysqli_free_result($result); 
} 

mysqli_close($enlace); 

?> 

非常感谢,感谢您的支持。

+0

检查'var_dump($ row);'并告诉我们 –

回答

2

假设BirthDate存储为DATE。我可能只会选择今天的生日:

SELECT BirthDate 
FROM Birthdays 
WHERE DAY(BirthDate) = DAY(NOW()) AND MONTH(BirthDate) = MONTH(NOW()); 
+0

最佳可行解决方案 –

0

如果你仍然想回显“没有生日”,你需要检查数据库中的日期格式。通常MySQL中的日期格式是YYYY-MM-DD。所以,你需要的日期创建代码更改为

$actualdate = date('Y-m-d'); 

这将做..否则,你可以选择@吉姆的回答,只得到今天的生日。