我正在尝试做的是计算一家公司拥有的用于在线游戏的土地的总价值。每个城市的土地当前价值作为 acre_price 存储在 city_list 表中。公司拥有的英亩数作为数量存储在 company_land 表中。所以总价值是acre_price * amount,对公司拥有土地的每个城市都这样做,然后把它们加起来。
acre_price 无法存储在 company_land 表中的原因是因为它是一个不断变化的值 - 如果有足够的活动,它可以每隔几分钟更改一次,并且在两个不同的表中保持土地价值最新会很多工作的。
这是我想出的,并且它成功了一半。它计算了正确的值,但仅适用于公司拥有土地的 1 个城市(数据库中的最新条目)。我需要它来计算数据库中所有条目的值。我尝试在第二个查询中将 fetch 更改为 fetchAll ,但这破坏了代码并且只显示了一个白页。
有谁知道我需要做些什么来实现这一目标?
提前致谢 :)
$sth = null; $count = 0; $data = array();
$sth = $dbh->prepare("SELECT * FROM company_land WHERE company_id = ?");
$company_land_query = $sth->execute(array($_GET['id']));
if($company_land_query){
while($row = $sth->fetch()){
$land_data = $row;
++$count;
}
if($count > 0){
$sth = null; $count = 0; $data = array();
$sth = $dbh->prepare("SELECT * FROM city_list WHERE city_id = ?");
$land_price_query = $sth->execute(array($land_data['city_id']));
while($row = $sth->fetch()){
$city_data = $row;
$land_value = $land_data['amount'] * $city_data['acre_price'];
}
}
}