自动更新sql中的网页数据

时间:2016-05-30 18:25:37

标签: php sql web

所以我是一名软件开发专业的学生,​​对于我的网络课程,我创建了一个项目,其中包括Php和SQL;在这个项目中,用户可以创建帖子,其他用户可以对其进行评论。

问题是我希望帖子仅在一段时间内可用。

然后我有一个名为'帖子' 的SQL表,他们有一个名为' Status' 的列(你知道,如果状态为0,则它​​们不可用,否则它们就是。)

当用户创建帖子时我会创建SQL: INSERT INTO posts *All the post data*,我将状态设置为1,并使TIMESTAMP注册帖子的创建日期。我希望在时间戳中注册的日期后一周将状态列更改为0,但我不希望它与页面请求(我需要它是自动的),我希望通过电子邮件或其他东西。

是否可以使用一些python CGI来检查日期,更新状态并发送电子邮件,或者有更好/更简单的方法吗?

非常感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

您不需要status 0/1和timestamp列,如果您要做的只是在一段时间内显示帖子。

只需使用timestamp列并修改获取帖子的查询,只显示那些< 7天(或您决定的任何时期)

EG

SELECT * from posts where timestamp_col < DATE_SUB(NOW(), INTERVAL 7 DAY)

或类似的满足您需求的东西

答案 1 :(得分:0)

原来解决此问题的最佳方法是使用Cron Jobs

我每天都运行一个PHP脚本,并使用

修改7天前的帖子
UPDATE Posts SET Status = 0 WHERE DATE(timestamp_col) = DATE_SUB(NOW(), INTERVAL 7 DAY)

然后我遍历受影响的行,通过电子邮件发送给用户。