簡體   English   中英

如何將php數據庫中的日期與今天的日期進行比較

[英]How to compare dates from php database with the today's date

我創建了一個 mysql 表,如下所示。

我想使用 if else 語句將表中的日期與當前日期進行比較,並在前一天、后一天和同一日期向用戶發送通知

例如,假設今天的日期是 18/10,牛奶的到期日期是 20/10,所以我想在 19 日、20 日和 21 日發送通知。

所以,如果你能幫助我比較代碼和發送通知(例如電子郵件)的代碼應該在 if 語句下,我將非常感激:)。

我的問題可能看起來很簡單,但我是 php 新手,我沒有太多關於它的信息。

這是我正在嘗試執行的 php 代碼

<?php


$first= new Carbon;

//$second= here I want the date to be collected from date column in the database

//X= The name of the item that will be collected from database (Item_Name) column


if ($second=eq($first+1))

    {echo"X is going to expire tomorrow"}

// instade of dispaying the above sentence, i want it to be sent as email


if ($first=eq($second))

    {echo"X is going to expire today!!"}


if ($first>eq($second))

    {echo"X has EXPIRED already"}

?>

我的表:

ID Item_Name Expiry_Date
 1 Milk      2017-10-20 
 2 Chicken   2017-10-22 
 3 Meat      2017-10-25

您可以使用DATE_ADD函數來確定間隔。

SELECT
   col1,
   col2,
   ...
FROM
   table
WHERE
   `date_column` BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY);

您提到了 PHP,我想澄清一下,這是 MySQL,我假設您有一個 cron 作業或類似的設置來運行 PHP 腳本。

更新:根據您更新的問題,您有兩個主要選擇,要么在數據庫中進行處理,要么在 PHP 中進行處理。 該決定取決於您計划如何使用它,但可以通過兩種方式進行。

-- MySQL --

SELECT 
    ID,
    Item_Name,
    Expiry_Date,
    CASE 
        WHEN `Expiry_Date` < CURDATE() THEN CONCAT(`Item_Name`,' has EXPIRED already.')
        WHEN `Expiry_Date` = CURDATE() THEN CONCAT(`Item_Name`,' will expire today.')
        WHEN `Expiry_Date` BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY) THEN CONCAT(`Item_Name`,' will expire tomorrow.')
        WHEN `Expiry_Date` > DATE_ADD(CURDATE(), INTERVAL 1 DAY) THEN CONCAT(`Item_Name`,' will expire after tomorrow.')
        ELSE 'Error processing expiration date.'
   END AS `Expiration_Message`
FROM
    table;

這將產生 ID Item_Name Expiry_Date Expiration_Message 1 Milk 2017-10-20 Milk 將在明天之后過期。 2 雞肉 2017-10-22 雞肉將在明天之后過期。 3 肉 2017-10-25 肉將在明天之后過期。

您還可以在 PHP 中進行字符串解析和日期添加,這似乎是您開始使用的。 在發送郵件方面,PHP有mail功能, 如何使用PHP發送郵件? 可能會給你一些指導。 現在,我假設您希望它按計划運行,因此我將研究在 cron job 中執行 PHP 腳本

希望這有助於更多的澄清。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM