我有一个名为玩家的桌子有2列:玩家和状态
我需要选择独特的随机团队! 每支球队都有X球员:Y base和Z pivot Y和Z设置了应有的输入形式
如果在插入3中用于基础,2用于枢轴结果应该是3个团队或3个玩家:
第1组 基地1 枢轴1 Pivot 2
团队2 基地1 枢轴1 Pivot 2
第3组 基地1 枢轴1 Pivot 2
生成团队后,我必须能够将状态设置为“已选中”。如果我需要创建另一个团队,所有状态为“已选中”的用户将无法在另一个新团队中使用!
我目前使用:
$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();
答案 0 :(得分:1)
WHERE status<>'selected'
添加到您的$sqlCommand
声明$selectedIds
UPDATE players SET status='selected' WHERE id IN ('.implode(',', $selectedIds).')
附注:
while
循环和一个游标/标志中完成 - 让它成为一个功课:)SELECT
和UPDATE
以避免不一致和冲突