2011-11-11 39 views
0

DUEDATE表結構使用PHP&cron我如何通知用戶他已經剩下15天時間來支付他的金額?

enter image description here

這裏我查詢如何在用戶具有從表15天前 PHP自動檢查並告知他已經拿到15多天左用戶支付他的金額。如表中所示

從的dueDate 15天因此如果用戶到期日爲2011-11-17,他有15個前一天被告知是2011-11-02

如何使用PHP自動通知來實現這一目標?

+0

[mySQL選擇記錄在下個月內應用]的可能重複和無數更多:http http://stackoverflow.com/questions/4663237/mysql-selecting-records-due-within-the-next-mon ://stackoverflow.com/search?q = [php] + mysql + date + due&submit = search – hakre

+0

@hakre不是重複的嗎?我的查詢不同於那個問題 – Ghostman

+0

你的意思是你選擇了其他的詞和其他一些日子? – hakre

回答

3

您需要通過CRON每日定期運行腳本,大概在每天上午12點01分的項目。

您必須創建一個cron選項卡文件,一個純文本文件並將其加載到您的服務器上。一個cron tab文件看起來像這樣

1 0 * * * PHP /path/to/your/script.php

上面的文件將在每天上午12點01分運行script.php的。

參考/教程:http://adminschoice.com/crontab-quick-reference

在script.php的,你做15天的查找啄。

詳細信息...

應該在您的服務器的cPanel上有一個CRON編輯器。你甚至可能不需要編寫自己的cron選項卡文件,他們通常有一個GUI編輯器。如果不是1 0 * * * php /path/to/your/script.php是您唯一的內容。

1 0 * * *表示每天早上00:01運行以下命令。 php表示執行以下PHP文件並且 /path/to/your/script.php指定要運行哪個PHP文件。

請記住,從您的服務器的根目錄開始,路徑是絕對路徑,因爲CRON與在Web環境中運行的不一樣。

在script.php上,您執行查詢(請參閱其他答案),獲取距離截止日期15天的人員列表並執行通知。

您可以在將它放入cron之前,通過直接從Web瀏覽器運行來測試您的script.php。

+0

如何在PHP中使用cron?我應該在哪裏運行此功能 – Ghostman

+0

請參閱我編輯的答案。 –

+0

什麼cron的標籤文件應該被裝載到服務器中,什麼是它的內容?並且,我應該用我的功能告知用戶 – Ghostman

0

您可以使用mysql的date time函數。

SELECT instalmentsDetailsID 
FROM DueDate 
WHERE DATE_SUB(dueDate, INTERVAL 15 DAY) >= NOW() 
+0

如果這些是文本字段,字符串函數會更適合。 – hakre

0
SELECT * FROM DueDate WHERE DATE_ADD(DueDate , INTERVAL -15 DAY) <= NOW() 

這會給你所有目前在他們的通知期

+0

這會在15天或更長的時間內給你任何東西。此外,爲什麼使用DATE_ADD而不是DATE_SUB? – liquorvicar

+0

@liquorvicar:謝謝。我一直用日期得到> = <=錯誤,所以我通常測試。我不知道日期子直到剛纔:) –