PHP+SQL Shuffle结果来自一个表并保存到另一个表
我必须用PHP编写脚本,对玩家ID进行洗牌、配对并保存到另一个表中 从第一个表中,我使用简单的SQL查询获取播放器ID:PHP+SQL Shuffle结果来自一个表并保存到另一个表,php,mysql,sql,shuffle,Php,Mysql,Sql,Shuffle,我必须用PHP编写脚本,对玩家ID进行洗牌、配对并保存到另一个表中 从第一个表中,我使用简单的SQL查询获取播放器ID: SELECT id FROM table1 它给了我例如ID为1、2、3、4、5的结果 现在我的问题开始了 我必须洗牌SQL结果以获得例如结果2、5、4、1、3 然后我需要在洗牌后配对玩家ID,如下所示: first row - first player with second player second row - second player with third pla
SELECT id FROM table1
它给了我例如ID为1、2、3、4、5的结果
现在我的问题开始了
我必须洗牌SQL结果以获得例如结果2、5、4、1、3
然后我需要在洗牌后配对玩家ID,如下所示:
first row - first player with second player
second row - second player with third player
third row - third player with fourth player
fourth row - fourth player with fifth player
fifth row - fifth player with first player
在SQL表2中,if应如下所示:
2-5
5-4
4-1
1-3
3-2
我要找的是:
1.用玩家ID洗牌sql结果的方法
2.从洗牌结果配对结果的方法
3.将其保存到表2的方法是使用shffle。它所做的是取下你的数组并洗牌。然后您可以按顺序使用每个数组 范例
array1
[1]
[2]
[3]
[4]
array2
[1]
[2]
[3]
[4]
$array3 = shuffle($array2);
array3
[2]
[1]
[4]
[3]
然后循环通过它们
for($i=0;$i<4;i++){
echo $array1[$i] .' vs '. $array3[$i];
}
好的,我发现:
$result=mysql_query("SELECT id FROM table1");
$numbers=array();
while ($result_data = mysql_fetch_row($result))
{
array_push($numbers, $result_data[0]);
}
shuffle($numbers);
$numbers2 = $numbers;
array_unshift( $numbers2, array_pop( $numbers2 ) );
for($i=0;$i<count($numbers);$i++){
echo $numbers2[$i].' vs '.$numbers[$i] . '<br />';
}
到目前为止,你尝试了什么?对于步骤1,您可以在查询中使用RAND-从表1中选择id ORDER BY RAND。对于第2步和第3步,显示您的代码尝试。使用此方法,您偶尔会得到1v1或2v2,或者需要执行$array3=shuffle$array2;我刚刚修正了密码。刷新。另外,以下是相关文档: