Проблема в том, что fetch_assoc()
возвращает следующую строку в наборе результатов, если только больше не осталось (в этом случае возвращается NULL
- см. документы ).
Ваш первый цикл while
выполняется до тех пор, пока больше не будет результатов. Поэтому, когда вы запускаете второй цикл while
, все еще ... вы уже догадались: результатов больше нет. Вы уже использовали их. Поэтому первый вызов fetch_assoc()
во втором цикле немедленно возвращает NULL
, поэтому условие цикла никогда не выполняется, и цикл никогда не выполняется.
Есть два способа решить эту проблему:
1) Сброс указателя результата на начало набора результатов. Где-то между двумя циклами напишите
mysqli_data_seek($show_teams, 0);
См. документы для получения дополнительной информации.
2) Считать все данные в массив PHP, который затем вы можете перебирать столько раз, сколько захотите, используя foreach
:
<?php
$teams = array();
while ($team = mysqli_fetch_assoc($show_teams)) {
$teams[] = $team;
}
?>
<form class="seed-form">
<select name="team" required>
<option value='Holder' disabled selected>Select Team</option> <!--Placeholder for Select-->
<?php
foreach ($teams as $team) { ?>
<option value="<?php echo $team["team_id"]; ?>"><?php echo $team["team_name"]; ?></option>
<?php } ?><!--FILLS SELECT BOX WITH TEAMS FROM THAT CUP-->
</select>
<select name="team" required>
<option value='Holder' disabled selected>Select Team</option> <!--Placeholder for Select-->
<?php
foreach ($teams as $team) { ?>
<option value="<?php echo $team["team_id"]; ?>"><?php echo $team["team_name"]; ?></option>
<?php } ?> <!--FILLS SELECT BOX WITH TEAMS FROM THAT CUP-->
</select>