スポーツ Web サイトのフィクスチャを生成しようとしています。関連する列が member_id と League_id である、Members というテーブルがあります。League_id は、前のページのフォームから変数 $leagueid として渡されます。
そのリーグIDに関連するすべてのメンバーIDを引き出しています...
$result = mysql_query("SELECT member_id FROM Members WHERE league_id = '$leagueid'")
これらすべてのメンバー ID のフィクスチャを生成し、そのデータを MySQL テーブルの「Fixtures」に挿入する必要があります。そのテーブルのデータの各行には、次を含める必要があります。
player1 - 最初のプレイヤーの
member_id player2 - 2 番目のプレイヤーの member_id
week - 試合が行われる週を示す整数
League_id
ただし、適用する必要がある特別な条件もいくつかあります。
3 週ごとに無料にする必要があります (つまり、3、6、9、12 週など)。これらの週に試合をスケジュールすることはできません
一致を 2 倍にするオプション (前のページのフォームから選択され、$double と呼ばれるチェックボックス変数として渡される) が必要です。これは、フィクスチャの完全なラウンドを 1 ラウンド生成した後、生成されたリストを取得し、プレーヤー 1 と 2 の ID を交換して、それらすべてを複製する必要があることを意味します。したがって、フィクスチャの 1 ラウンドは次のようになります。
1週目
1対2
3対4
2週目
1対3
2対4
3週目
1対4
2対3
次に、ID を交換して、別のセットを追加します...
4週目
2対1
4対3
第5週
3対1
4対2
第6週
4 対 1
3 対 2
私が探しているのは、リストしたすべての特別な条件を念頭に置きながら、これらすべてのフィクスチャを生成するコードです。
これはすべて PHP で可能であることはわかっていますが、代わりに 1 つの SQL クエリを使用して実行できると思います。誰でも私を助けることができますか?? ありがとう!!
PS私はmysqliではなくmysqlを使用していることを知っています。現在mysqliに移行しようとしていますが、別の質問に投稿したいくつかの問題があり、まだ正しい答えが得られていません。