是否在不使用按钮的情况下更新数据库?PHP MySQL


Updating database without using button? PHP MySQL

我可以知道这是否可能吗
在不使用按钮的情况下更新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";
}

谢谢。

为了根据事件自动更新数据库,可以使用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 ;

参考:

  • https://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html

首先需要在SQL控制面板中创建触发器。

如果您希望运行cron作业,这可能是您的一个选项,请参阅以下内容:

  • 如何使用PHP创建cron作业
  • http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428