2015-11-04 58 views
2

我可以知道如果有可能嗎?
更新MySQL數據庫而不使用按鈕,我的意思是像腳本。更新數據庫而不使用按鈕? PHP MySQL

場景:
我想有行書,會爲能夠滿足我想那麼它會自動更新值的條件的值進行搜索。

例子:

我有一個名爲列 - dateStarteddateExpirationstatus所以如果今天dateExpiration是它的status值從ACTIVE更改爲INACTIVE

PS:dateStarted + 30天= dateExpiration

這是我理想中的代碼,到目前爲止,但不知道我怎麼會調用數據,並且不使用按鈕類似的東西必須後臺運行更新。

$dateExpired = date('Y-m-d', strtotime($dateStart. ' + 30 days')); 
$dateExpired2 = date('Y-m-d', strtotime($dateStart. ' + 90days')); 

$status = "FRESH"; 

if(strtotime($dateStart)<strtotime('-30 days')){ 
$status = "INACTIVE"; 
} 

if(strtotime($dateStart)<strtotime('-90 days')){ 
$status = "DORMANT"; 
} 

謝謝。

+0

觸發的https://dev.mysql .com/doc/refman/5.5/en/trigger-syntax.html –

+0

嗨,@ Fred-ii-謝謝,但它比CRON更好嗎? – Edmhar

+0

我也曾經想過cron,但並不是100%確定這是否是這個主意。看起來像一個觸發器更合適,至少對於MySQL來說是這樣。 –

回答

2

爲了根據事件自動更新數據庫,可以使用MySQL觸發器。從手動

實施例:

mysql> delimiter // 
mysql> CREATE TRIGGER upd_check BEFORE UPDATE ON account 
    -> FOR EACH ROW 
    -> BEGIN 
    ->  IF NEW.amount < 0 THEN 
    ->   SET NEW.amount = 0; 
    ->  ELSEIF NEW.amount > 100 THEN 
    ->   SET NEW.amount = 100; 
    ->  END IF; 
    -> END;// 
mysql> delimiter ; 

參考:

觸發首先需要一個SQL控制面板內的被創建。

如果你想運行一個cron作業,這可能是一個選擇,請參考以下:

+0

問題解決了,儘管我使用了CRON作業,但我會接受這個答案。先生,再次感謝! – Edmhar

+1

@Edmhar我很高興聽到它。我想我會在我的回答中添加一些關於cron作業的鏈接,以防萬一。 *歡呼* –

+0

是的,我用你提供的鏈接作爲我的參考。先生,再次感謝! – Edmhar