在当天的某些部分删除数据库中的条目

时间:2018-04-17 23:40:13

标签: php mysql

所以,我正在建立一个人们可以搜索地点并登记到那些地方的网站。 我想在用户日结束时删除(或更改)每个条目。

例如,我的时间是20:00,我提交了一个签到。我想在00:00删除它。另外,其他一些用户的时间是22:00,例如,我希望他在00:00删除,但在我的时间不是00:00,而是他的。

我希望我澄清了这个问题,我尽我所能。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

问题是你是否有权运行cronjobs。如果您可以运行cronjobs,我会在您的mysql db中创建一个时区条目。

并查看db中用户的时间戳是否等于当前timme戳(例如使用utc timestamps)。如果适用,请删除该条目

以下是我如何以粗鲁的形式实施它的要点。

时间戳当前

date_default_timezone_set('UTC');
$now = new DateTime();
echo $now->getTimestamp(); //Unix timme stamp

<强> MySQL的

DELETE FROM table
WHERE timestamp <= $now
删除后

您可以设置第二天的新utc时间戳

$value="00:00:00"; //just as an example use time zone from mysql table 
$timeStamp = strtotime('tomorrow ' .$value);

/*insert into mysql table structure*/

至于应该每小时执行的crone作业

0 * * * * fille.php

我希望这能满足你的期望。我也尽了最大努力;)。