能量棒的定时器 - > php + mysql

时间:2012-10-02 10:18:18

标签: php mysql

我的代码不完整,无效。 我为每个用户都有一个能量棒。我的表“用户”( usuarios )具有“能量”( energia )和“Energymax”( energiamax )列。

使用此代码,这可行,但我想设置一个计时器,例如:1分钟内1,它运行它。

<?php
    mysql_query("UPDATE usuarios 
                 SET energia=energia+1 
                 WHERE energia<>energiamax AND tipo='player'");
?>

我的逻辑是:第一分钟增加“+1”并重新开始倒计时。 1分钟后,它再次增加“+1”。

我该如何创建这样的计时器?

谢谢;)

2 个答案:

答案 0 :(得分:1)

您可以使用MySQL Events

不要忘记使用MySQL 5.1.6及更高版本并使用

打开事件
SET GLOBAL event_scheduler = ON;

使用一分钟计时器

DROP EVENT IF EXISTS myevent;

CREATE EVENT myevent
ON SCHEDULE EVERY 1 MINUTE
DO UPDATE usuarios SET energia=energia+1 
    WHERE energia<>energiamax AND tipo='player';

答案 1 :(得分:0)

最好不要使用'energia'列,并在表中'energia'为零时存储时间戳,而不是设置定时器。并且在选择时只计算自启动以来的秒数 - 这是'energia'的值。因此,您不必每分钟调用一次SQL查询。