2012-07-09 58 views
-1

我單獨存儲了第10天,第4天和第(1993)天。我如何將它與當前日期進行比較?如果日期匹配,則使用cron發送電子郵件到[email protected]PHP我該如何比較數據庫中的日期和當前日期

這裏是代碼:使用日期函數repsonse您的意見,您可以獲得當前的日期和月份:

<?php 
include"connect_mysql.php"; 
$reminder_dates = mysql_query("SELECT*FROM registration_form"); 
while($row = mysql_fetch_array($reminder_dates)){ 
$main_dob_day = $row['main_dob_day']; 
$main_dob_month = $row['main_dob_month']; 
$main_dob_year = $row['main_dob_year']; 
} 
?> 
+4

'我存儲在一天(10),月(4 )和年份(1993年)。 '不要這樣做!使用日期時間類型! – k102 2012-07-09 09:38:33

+2

你有沒有嘗試過任何研究?也許PHP函數可以讓你獲得今天的日期和月份? \ *咳嗽\ * ['日期'](http://php.net/date)\ *咳嗽\ * – deceze 2012-07-09 09:40:43

+0

請不要使用'mysql_ *'功能新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。請參閱[**紅框**](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是很好的PDO教程](http://goo.gl/vFWnC)。 – 2012-07-09 09:42:27

回答

0

或許是這樣的:

$old_date = "2006-01-16"; // Create this from the 3 strings you have in the db 
$old_date = strtotime($old_date); 

$todays_date = date("Y-m-d"); 
$todays_date = strtotime($todays_date); 


if ($old_date == $todays_date) 
print "equal"; 
else 
.... 

編輯,像這樣:

$m = date("m"); 
$d = date("d"); 
+0

如何比較只有一天和一個月? – PSY 2012-07-09 09:47:37

+0

請檢查我編輯的答案 – Husman 2012-07-09 09:59:00

+0

非常感謝您的快速回復!嗯,我該如何刪除$ m(07)的'0'?導致數據庫中的月份是'7'而不是'07'。 – PSY 2012-07-09 10:07:09

0

你可以做比較n右的SQL查詢,則循環會發送電子郵件到從查詢返回的所有行:

<?php 
    include"connect_mysql.php"; 
    $sql = " 
     SELECT * 
     FROM registration_form 
     WHERE 
      main_dob_month = MONTH(CURDATE()) AND 
      main_dob_day = DAYOFMONTH(CURDATE())"; 

    $reminder_dates = mysql_query($sql); 
    while($row = mysql_fetch_array($reminder_dates)) 
    { 
     // send email(s) 
    } 
?> 
+0

在for循環中發送大量電子郵件時要小心,許多網絡主機認爲這是垃圾郵件行爲,並可能採取行動或將您的Web服務器IP地址列入黑名單。 – Husman 2012-07-09 10:00:39

1
$main_date = "{$main_dob_year}-{$main_dob_month}-{$main_dob_day}"; 
$todays_date = date("Y-m-d"); 
$today  = strtotime($todays_date); 
$main_dt  = strtotime($main_date); 

if($main_dt == $today) 
{ 
    $valid = "send email"; 
    echo $valid; 
} 

,將工作

相關問題