【问题标题】:PHP and MYSQL date expiry nearPHP 和 MYSQL 日期即将到期
【发布时间】:2013-04-22 16:54:22
【问题描述】:

我希望在用户登录时通知他们产品即将过期

请知道我需要为此使用哪些查询以及如何执行此操作?

谢谢。

【问题讨论】:

    标签: php mysql date


    【解决方案1】:

    试试这个:

    SELECT p.ProductName, s.Quantity, s.Price, s.DateExpiry FROM seller s, Product p
    WHERE p.PID = s.PID AND DateExpiry < DATE_ADD(NOW(), INTERVAL 3 DAY) AND Custid = $_SESSION['user']
    

    【讨论】:

      【解决方案2】:

      您所要做的就是为您的条件添加一些“时间数学”:

      WHERE p.PID = s.PID AND DateExpiry < ADDDATE(NOW(), INTERVAL 3 DAY) AND Custid = $_SESSION['user']
      

      这将使用从现在开始的 3 天时间而不是当前时间来进行比较。

      当然,您可以随时更改间隔,例如使用INTERVAL 1 DAY 仅增加 1 天。

      可以在here找到有效单位。

      作为替代方案,如果您使用的服务器版本不太旧,您可以只编写一个简单的添加:

      WHERE p.PID = s.PID AND DateExpiry < NOW() + INTERVAL 3 DAY AND Custid = $_SESSION['user']
      

      【讨论】:

        【解决方案3】:

        您不必稍微更改查询,但您必须对您拥有的数据进行一些计算,现在我不知道您的 dateexpiry 是什么格式,但它可能看起来像这样。

        代码:

        $now = new DateTime('now');
        $dateToCompare = new DateTime('2013-04-11');//here is where you put your dateexpire variable
        
        $difference = $now->format('U') - $dateToCompare->format('U');
        // or if your date to compare is in the future :
        // $difference = $dateToCompare->format('U') - $now->format('U');
        $time_diff = gmdate('d',$difference);
        
        echo $time_diff;
        if($time_diff == 3):
        echo "there is 3 days left";
        elseif($time_diff < 3):
        echo "less then 3 day there will be 10% reduction";
        endif;
        

        代码取自: get a time difference between two dates

        【讨论】:

          【解决方案4】:

          检查一下

          SELECT p.ProductName, s.Quantity, s.Price, s.DateExpiry FROM seller s, Product p
          WHERE p.PID = s.PID AND Custid = $_SESSION['user'] AND
          (DateExpiry BETWEEN curdate() and curdate() + interval 3 day) ORDER BY DateExpiry
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-27
            • 1970-01-01
            • 1970-01-01
            • 2014-02-21
            • 1970-01-01
            相关资源
            最近更新 更多