我是编程新手。本周我学习了HTML,CSS,PHP和MySQL的基础知识,我正在制作一个简单的回合制策略游戏来练习编码(并且在做的时候玩得开心!)。
现在,当我被困住时,我通常会看看DuckDuckGo和YouTube,但这次我似乎无法找到问题的答案。希望你可以帮忙:
我正在创建一个cronjob文件来更新我的玩家所拥有的资源。在表1(名为stockpile)中,我有名为village_id
,wood
,stone
和iron
的列。在表2(命名建筑物)中,我有名为village_id
,woodcutters
,quarry
和mine
的列。现在这里是我希望代码执行的示例:
拿村庄1的'木头'并像这样更新; wood = wood + (x * woodcutter of village1)
。
我真的希望有人可以帮助我!我的项目很顺利,除了这部分我似乎无法绕过我的脑袋......
答案 0 :(得分:0)
使用子查询(将[x]替换为某个值):
UPDATE stockpile s
SET wood = wood + [x] *
(SELECT woodcutters
FROM buildings b
WHERE b.village_id = s.village_id);
答案 1 :(得分:0)
您需要SELECT
表格中的列,并从这些列中获取播放器的数据,乘以并更新表格。我假设你的village_id是unique index。
$sql = SELECT COUNT(*) FROM table1;
$result = $conn->query($sql);
$sql1 = "SELECT wood FROM table1";
$result1 = $conn->query($sql);
$arr1 = $result1->fetch_assoc();
$sql2 = "SELECT woodcutter FROM table2";
$result2 = $conn->query($sql2);
$arr2 = $result2->fetch_assoc();
for ($i=1;$i<=$result;$i++) {
$newwood = $arr1[$i] + (x * $arr2[$i]);
$sql3 = "UPDATE table1 SET wood=" . $newwood . " WHERE id=" . $i;
$conn->query($sql3);
}
要使其成为cron,您需要使用Apache或其他服务器配置作业。