2016-03-11 71 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'); 

這將做..否則,你可以選擇@吉姆的回答,只得到今天的生日。