2

フットボール マネージャー トーナメントでサポートが必要です。ゲームに登録されているすべてのチームを「タイムテーブル」と呼ばれるテーブルにランダムに挿入しようとしています。データベースには、id、team1、team2、日付、時刻の列があります。手動でこれを行う方法は知っていますが、50 チームのような場合、まだ挑戦していないウィッシュ チームを見つけるのに時間がかかります。そして、すべてのチームが毎日 1 試合を行うようにする方法。

<?php
mysql_query("INSERT INTO timetable (id, team1, team2, date, time) VALUES ('','Blue','Red','2011-02-06','18.00')")
?>

私は私の英語が最高ではないことを知っていますが、あなたがそれを理解できることを願っています. とにかくありがとう、

4

1 に答える 1

2

私があなたの質問を理解している限り、すべてのチームが他のすべてのチームと対戦することを望んでいますか? これは簡単です。チームをループするだけです。

<?php
$teams = array('Red Team', 'Blue Team', 'Yellow Team', 'Green Team');
foreach($teams as $team_one) {
  foreach($teams as $team_two) {
    mysql_query("INSERT INTO timetable (team1, team2) VALUES ('$team_one', '$team_two')");
  }
}
?>

また、試合日計算アルゴリズムを作成することもできます。

配列がユーザー提供の場合、セキュリティ上の理由から$teams、おそらく入力をエスケープしたいと思うでしょう。mysql_real_escape_string()

mysql_query("INSERT INTO timetable (team1, team2) VALUES ('".mysql_real_escape_string($team_one)."', '".mysql_real_escape_string($team_two)."')");

セキュリティの詳細については、mysql_real_escape_string() については PHP のマニュアルを、 SQLインジェクションについては googleを参照してください。

于 2012-02-06T13:31:28.100 に答える