我遇到了一个问题。我正在创建一个基于网络的游戏。它更像是基于实时网络的应用程序。我的玩家可以 build 建筑物。每个建筑物都有唯一的哈希 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();
});
我相信我做错了什么,但是有人可以告诉我我做错了什么吗?我需要一个答案,我需要详细的信息。谢谢。
最佳答案
您正在做的事情可以分解为一系列更小的步骤。例如,如果您每小时收集 X 金币,那么当用户下次加载页面时,您需要做的就是计算他们积累的金币差额。
每次他们检查时,将轮询时间记录在数据库中。下次他们检查时计算差分秒数并插值支付多少。每小时 100 次,相当于每秒 100/3600 次。您显然可以四舍五入以避免显示增量值。
关于php - 如何在没有cron的情况下向MySQL数据库写入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27367559/