我的代码不完整,无效。 我为每个用户都有一个能量棒。我的表“用户”( usuarios )具有“能量”( energia )和“Energymax”( energiamax )列。
使用此代码,这可行,但我想设置一个计时器,例如:1分钟内1,它运行它。
<?php
mysql_query("UPDATE usuarios
SET energia=energia+1
WHERE energia<>energiamax AND tipo='player'");
?>
我的逻辑是:第一分钟增加“+1”并重新开始倒计时。 1分钟后,它再次增加“+1”。
我该如何创建这样的计时器?
谢谢;)
答案 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查询。