Я должен написать скрипт на PHP, который перетасовывает идентификаторы игроков, объединяет их в пару и сохраняет на другой стол.
Из первой таблицы я получаю идентификаторы игроков, используя простой SQL-запрос:
SELECT id FROM table1
Это дает мне, например, результат с идентификаторами: 1, 2, 3, 4, 5
Теперь моя проблема начинается.
Я должен перетасовать результат SQL, чтобы получить, например. результат 2, 5, 4, 1, 3
Затем мне нужно соединить идентификаторы игроков (после тасования) следующим образом:
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 table2 if должен выглядеть так:
2-5
5-4
4-1
1-3
3-2
Что я ищу это:
1. Способ перемешать результат с идентификатором игрока
2. Способ объединения результатов из перемешанного результата
3. Способ сохранить его в table2
Что вы должны сделать, это использовать 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 />';
}