如何在没有cron的情况下在MySQL数据库中写入数据?

时间:2014-12-08 21:45:25

标签: php mysql ajax cron

我遇到了一个问题。我正在创建一个基于网络的游戏。它更像是基于实时网络的应用程序。我的球员可以建造建筑物。每个建筑物都有唯一的哈希ID。所有参数的建筑物都存储在SQL中。我想做的就是制造自动收集资源(黄金)的引擎。我不想用cron。我希望当我按下“引擎”时,它会开始收集黄金:

if( $sql['engine'] == 1 ){
     //do the job..
}

我尝试过这种方法,但没有运气( collect.php ):

if( $sql['engine'] == 1 ){
  mysql_query("UPDATE `info` SET `gold` = `gold` + 10 WHERE `building`='{$building}'");
}

index.php

function enginestat() {
    $("#EngineStatus").load("../job/collect.php?building=<?php echo $building; ?>", function () {
        setTimeout( function () {
            enginestat();
        }, 1000);
    });
}
$( function () {
    enginestat();
});

我相信我做错了什么,但有人可以告诉我我做错了什么吗?我需要一个答案,我需要详细的信息。谢谢。

1 个答案:

答案 0 :(得分:3)

您正在做的事情可以分解为一系列较小的步骤。例如,如果您每小时收集X金币,那么下次加载页面时您需要做的就是计算他们累积的差异金币。

每次检查时,都会在数据库中记录轮询时间。下次他们检查计算差分秒并插入支付多少。每小时100,可达到每秒100/3600。显然,您可以向上舍入以避免显示增量值。