私がやろうとしているのは、会社がオンラインゲームのために所有している土地の総額を計算することです。各都市の土地の現在の値は、city_listテーブルにacre_priceとして格納されます。会社が所有するエーカーの量は、amountとしてcompany_landテーブルに格納されます。したがって、合計値はacre_price * amountになり、会社が土地を所有するすべての都市に対してそれを行い、それをすべて合計します。
acre_priceをcompany_landテーブルに保存できない理由は、acre_priceが常に変化する値であるためです。十分なアクティビティがある場合は数分ごとに変化する可能性があり、2つの異なるテーブルで土地の値を最新の状態に保つことは非常に重要です。仕事の。
これは私が思いついたものであり、それは中途半端に機能します。正しい値を計算しますが、会社が土地を所有している1つの都市(データベースの最新のエントリ)に対してのみです。データベース内のすべてのエントリの値を計算するために必要です。2番目のクエリで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'];
}
}
}