歌うN人のユーザーがいるテーブルプレーヤーがあります! そのリストからランダムにユニークなチームを作成する必要があります!
現在私が使用している@geomagasに最適です:
$nteams=$_POST['teams'];
$nbase=$_POST['base'];
$npivots=$_POST['pivots'];
$allplayers=$nteams*($nbase+$npivots);
require_once "connect_to_mysql.php";
$sqlCommand = "SELECT id FROM players ORDER BY RAND() LIMIT $allplayers";
$query = mysql_query($sqlCommand) or die (mysql_error());
if(mysql_num_rows($query)<$allplayers) // sanity
die('Not enough players!');
else
for($team=1;$team<=$nteams;$team++)
{
for($base=1;$base<=$nbase;$base++)
{
$row = mysql_fetch_array($query);
echo "Team $team Base $base = {$row['id']}<br />";
}
for($pivot=1;$pivot<=$npivots;$pivot++)
{
$row = mysql_fetch_array($query);
echo "Team $team Pivot $pivot = {$row['id']}<br />";
}
}
mysql_close();
最初はチームの数を生成することを考えていましたが、プレイヤーの数がそれほど多くない可能性があることに気付きました。最初にチーム、ベース、およびピボットの数を設定/入力できるようにしたい場合は、ベースとピボットの数のみを入力してチームを生成します。例: 2 つのピボットで 3 つのベースを入力すると、結果は次のようになります。
チーム 1 ベース 1 ピボット 1 ピボット 2
チーム 2 ベース 1 ピボット 1 ピボット 2
チーム 3 ベース 1 ピボット 1 ピボット 2
異なるチームを生成するには、選択したすべてのベースとピボットが一意である必要があります!