所以我是一名软件开发专业的学生,对于我的网络课程,我创建了一个项目,其中包括Php和SQL;在这个项目中,用户可以创建帖子,其他用户可以对其进行评论。
问题是我希望帖子仅在一段时间内可用。
然后我有一个名为'帖子' 的SQL表,他们有一个名为' Status' 的列(你知道,如果状态为0,则它们不可用,否则它们就是。)
当用户创建帖子时我会创建SQL:
INSERT INTO posts *All the post data*
,我将状态设置为1,并使TIMESTAMP
注册帖子的创建日期。我希望在时间戳中注册的日期后一周将状态列更改为0,但我不希望它与页面请求(我需要它是自动的),我希望通过电子邮件或其他东西。
是否可以使用一些python CGI来检查日期,更新状态并发送电子邮件,或者有更好/更简单的方法吗?
非常感谢您的帮助:)
答案 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)
然后我遍历受影响的行,通过电子邮件发送给用户。