ここに問題があります: -
次のフィールドを持つ「MatchResults」と呼ばれるスポーツの試合の結果のテーブルがあります
Player1 Player2 Player1GamesWon Player2GamesWon Player1Pts Player2Pts League_id
最初に、私がすでに持っている格納された変数を使用してこのテーブルをフィルタリングするクエリを実行しているため、行のコレクションが短くなります:-
$qry = "SELECT * FROM BadmintonMatchResults WHERE league_id = '$leagueid'";
上記のクエリから生成された各行を実行し、値を使用して「LeagueTable」という別のテーブルを更新する必要があります。LeagueTable の構造は次のとおりです。
member_id プレイした勝ったゲームに負けたゲームに勝った負けた差ポイント
これらの更新は、次のようないくつかの SQL クエリの形式を取ります。
$qry = mysql_query("UPDATE LeagueTable SET Played = Played + 1 WHERE member_id = '$p1id'");
$qry = mysql_query("UPDATE LeagueTable SET Played = Played + 1 WHERE member_id = '$p2id'");
if($p1pts > $p2pts) {
$qry = mysql_query("UPDATE LeagueTable SET Won = Won + 1 WHERE member_id = '$p1id'");
$qry = mysql_query("UPDATE LeagueTable SET Lost = Lost + 1 WHERE member_id = '$p2id'");
}
else if($p2pts > $p1pts) {
$qry = mysql_query("UPDATE LeagueTable SET Won = Won + 1 WHERE member_id = '$p2id'");
$qry = mysql_query("UPDATE LeagueTable SET Lost = Lost + 1 WHERE member_id = '$p1id'");
}
$qry = mysql_query("UPDATE LeagueTable SET GamesWon = GamesWon + '$p1won' WHERE member_id = '$p1id'");
$qry = mysql_query("UPDATE LeagueTable SET GamesWon = GamesWon + '$p2won' WHERE member_id = '$p2id'");
$qry = mysql_query("UPDATE LeagueTable SET GamesLost = GamesLost + '$p1won' WHERE member_id = '$p2id'");
$qry = mysql_query("UPDATE LeagueTable SET GamesLost = GamesLost + '$p2won' WHERE member_id = '$p1id'");
$qry = mysql_query("UPDATE LeagueTable SET Difference = GamesWon - GamesLost");
$qry = mysql_query("UPDATE LeagueTable SET Points = Points + '$p1pts' WHERE member_id = '$p1id'");
$qry = mysql_query("UPDATE LeagueTable SET Points = Points + '$p2pts' WHERE member_id = '$p2id'");
現在、フォームに入力されたデータからこれを行っているため、 $variables を無視しますが、代わりに別のデータベースの行を使用するように変更したいと考えています。また、クエリを要約して組み合わせることができることも知っています。主な問題は、このクエリのコレクションをさまざまな値のセットに対して複数回ループすることです。
私の質問は:-
- 実行する必要があるクエリで最初のテーブルのフィールドを参照するにはどうすればよいですか? 明らかに、フィールド名「Player1」をリストするだけでは機能しません。
- 各行をループして、上記の 2 つのクエリとさらに 8 つの同様のクエリを実行するにはどうすればよいですか。
注: これらのクエリの一部は既に IF ステートメント内にネストされているため、ループはその外側に移動する必要があります。
どんな助けでも大歓迎です!