0

我有一段代码查询 MySql 数据库并根据日期返回结果。应该发生的是,如果 destroy_date 字段中有一个日期包含今天的日期 - 1 个月,那么还有一段代码应该在显示的结果中添加 1 个月,以警告用户该文件必须在那个日期。出于某种原因,这没有发生,而是显示较早的日期而不显示预期的结果。

例如,假设一个文件的销毁日期为 2013 年 10 月 30 日。我需要提前 1 个月通知该文件将在该日期销毁。所以我需要在 2013 年 9 月 30 日显示这个文件将在 2013 年 10 月 30 日销毁。

如果有人能指出我的错误或者需要更多信息,我将不胜感激,那么我很乐意提供这些信息。非常感谢

MySql 查询

$query = "SELECT * FROM boxes WHERE customer = '$_SESSION[kt_idcode_usr]' AND destroy_date <= DATE(NOW() - INTERVAL 1 MONTH) AND destroy_date != '0000-00-00' AND status = 1 order by destroy_date desc";

添加1个月的php代码

$rowdate = date("d/m/Y", strtotime($row['destroy_date'] . ' + 1 MONTH'));
4

1 回答 1

1

如果您在获取记录时遇到问题,请在您的 sql 中添加以下条件。

date(expiry_date) BETWEEN date(NOW()) AND date(NOW()) + INTERVAL 1 MONTH

如果您在显示日期时遇到问题,请尝试以下代码。

$newdate = strtotime ( '+ 1 MONTH' , strtotime ( $row['destroy_date'] ) ) ;
//assuming your date is in yyyy/mm/dd format
$newdate = date ( 'd/m/Y' , $newdate );
echo $newdate;
于 2013-10-30T11:53:29.150 回答