アップデート
このコードで違いを取得できますが、クエリの最初のアスリートしか表示されません。なんで?while は x 回 (x は結果の数) ループするべきではありませんか?
function difference() {
global $db;
$result = $db->query("
SELECT *
FROM maxithlon
WHERE owner = '". $_SESSION[teamid] ."'
AND season = '". $this->season ."'
AND week = '". $this->currentWeek ."'
ORDER BY RAND();
");
while ($row = $result->fetch_assoc()) {
$result2 = $db->query("
SELECT *
FROM maxithlon
WHERE owner = '". $_SESSION[teamid] ."'
AND season = '". $this->season ."'
AND week = '". $this->currentWeek ."-1'
AND athleteId = '". $row[athleteId] ."'
");
while ($row2 = $result2->fetch_assoc()) {
$difference[$row2[athleteId]][form] = $row[form] - $row2[form];
$difference[$row2[athleteId]][maxid] = $row[maxid] - $row2[maxid];
$difference[experience] = $row[experience] - $row2[experience];
$difference[mood] = $row[mood] - $row2[mood];
$difference[strenght] = $row[strenght] - $row2[strenght];
$difference[stamina] = $row[stamina] - $row2[stamina];
$difference[speed] = $row[speed] - $row2[speed];
$difference[agility] = $row[agility] - $row2[agility];
$difference[jump] = $row[jump] - $row2[jump];
$difference[throws] = $row[throws] - $row2[throws];
$difference[specialty1] = $row[specialty1] - $row2[specialty1];
$difference[specialty2] = $row[specialty2] - $row2[specialty2];
$difference[height] = $row[height] - $row2[height];
$difference[weight] = $row[weight] - $row2[weight];
$difference[fans] = $row[fans] - $row2[fans];
$difference[wage] = $row[wage] - $row2[wage];
return($difference);
}
}
}
自分のニーズを満たす答えを探しましたが、見つかりませんでした。
アスリートのデータを含む「maxithlon」テーブルを含むデータベースがあります。2 つの関数は、アスリートのデータを取得し、それらを配列に入れるために定義されています。1 つ目は先週のデータを取得し、2 つ目は現在のデータを取得します。
2 つの配列を比較して、2 週間の値の差を取得する必要があります。考えられる解決策はありますか?