2016-05-30 26 views
0

所以我是一名軟件開發學生和我的網絡課程我創建了一個項目,其中包括Php和SQL;在這個項目中,用戶可以創建帖子,其他用戶可以對其發表評論。自動更新SQL中的數據爲網頁

事情是我想要職位只能在一段時間內可用。

然後,我有一個SQL表命名「帖子」,他們有一個名爲「狀態」列(你知道,如果狀態是0他們並不可用,否則他們是。)

當用戶創建一篇文章時,我創建了SQL: INSERT INTO posts *All the post data*,我將Status設置爲1,並使TIMESTAMP註冊創建文章的日期。我希望在Timestamp中註冊的日期一週後將狀態列更改爲0,但我不希望它與頁面請求(我需要它是自動的)並且我希望通過電子郵件通知用戶或一些東西。

它可以用一些python CGI製作,檢查日期,更新狀態併發送電子郵件或者是否有更好/更簡單的方法來做到這一點?

非常感謝您的幫助:)

回答

0

原來最好的解決方法是使用Cron Jobs

我每天運行PHP腳本,我修改的正是7天前的帖子,用

UPDATE Posts SET Status = 0 WHERE DATE(timestamp_col) = DATE_SUB(NOW(), INTERVAL 7 DAY) 

然後我通過發送電子郵件的用戶受影響的行迭代。

1

你不需要的status 0/1和timestamp列,如果你想要做的是顯示設定的時間段後。

只需使用timestamp欄和修訂該取的帖子裏的查詢只顯示那些< 7天前的帖子(或你決定的任何時期)

EG

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

或類似的東西滿足您的需求

+0

這將工作的頁面顯示,但不是爲用戶通知 –

+0

當然,它只會添加一個'user_emailed'列,並設置當您發送用戶通知,並不再選擇它們是'user_email = 1' – RiggsFolly