【发布时间】:2014-01-24 21:35:21
【问题描述】:
我已经编写了一些代码来检查是否使用 2 个日期过去了 2 天,但它似乎不起作用。
<?php
date_default_timezone_set('Europe/Amsterdam');
$_connection = mysqli_connect("localhost", "root", "root", "theater") or die("Error: " . mysqli_error());
$query = "SELECT * FROM Reservering";
$result = mysqli_query($_connection, $query);
while($row = mysqli_fetch_assoc($result)) {
$res = strtotime($row['ReserveringsDatum']);
echo date('d-m-y', $res);
}
mysqli_close($_connection);
?>
$row['ReserveringsDatum'] 是一个如下所示的日期:“07-01-14”(示例)。
由于某种原因,echo date('d-m-y', $res); 向我显示“14-01-07”,这只是颠倒了日期和年份。
编辑: 对于那些想知道它是如何结束的人,这里是工作代码:
<?php
date_default_timezone_set('Europe/Amsterdam');
$_connection = mysqli_connect("localhost", "root", "root", "theater") or die("Error: " . mysqli_error());
$query = "SELECT *, DATEDIFF(NOW(), DATE(ReserveringsDatum)) 'age' FROM Reservering WHERE DATEDIFF(NOW(), ReserveringsDatum) > 2 ";
$result = mysqli_query($_connection, $query);
while($row = mysqli_fetch_assoc($result)) {
if($row['Betaalt'] == 'nee') {
$query2 = "DELETE FROM Reservering WHERE `ReserveringID` = '".$row['ReserveringID']."'";
mysqli_query($_connection, $query2);
}
}
mysqli_close($_connection);
?>
【问题讨论】:
-
哪个值有$res和$limit?你做过 var_dump 吗?
-
$limit将永远大于$res- 它被定义为$res+172800。你确定你不是要检查它是否比真实日期/时间早2天吗? -
为什么不把逻辑放到你的sql语句中呢?只需获取那些通过“截止日期”的记录。
-
@Rogier 我理解你的建议,但我不太擅长使用 sql 计算。
-
现在可以用了吗?