昨天我问了另一个问题来计算时间。
现在我意识到,在我的项目中使用第二个表是没有意义的,因为我的第一个表中已经给出了所有必要的东西。因此,目前我使用两个表,在其中插入两个时间戳:
$time = "INSERT INTO table2 ( a, b, c) VALUES (NOW(),NOW() + INTERVAL 14 DAY,(unix_timestamp(NOW()+ INTERVAL 14 DAY)) - unix_timestamp(NOW()))";
就像我已经说过的那样,这可能会容易得多,并且无需第二张桌子就可以达到相同的结果。现在我的问题是,这是我第一次在 php 中使用 timefunctions。有很多不同的功能我不太了解。
我认为要解决我的问题,我可以使用类似的东西:
$row = fetch_assoc()
$old_timestamp = $row->b;
$actual_time = mktime(); //which makes an actual timestamp
$seconds = '1209600'; //which is exactly the timeperiod of 14 days
$added = $old_timestamp + $seconds; //which adds the seconds to the old timestamp and should be the same as NOW() + INTERVAL 14 DAY from the VALUE of the query
$date_to_check = $added - $actual_time;
if $date_to_check <= 0 {
do something }
这可能吗?如果有人可以提供帮助,我将不胜感激。多谢。
更新
对于所有想知道我的想法的人。这是实际方式的代码:
$time_check = $db->query("SELECT (B <= NOW()) AS var FROM table2 WHERE x='$x'");
while ($row = $time_check->fetch_object()){
if (($row->var != 0) && ($var1 === '0')){
$update_status = $db->query("UPDATE table1 SET var1='1' WHERE x='$x'");{
$delete_timecount = $db->query("DELETE FROM table2 WHERE x='$x'");
}
}
}
我想在没有第二张桌子的情况下完成同样的结果。