Intereting Posts

Simultaneusly заполняет несколько выпадающих списков данными из таблицы mysql, используя тот же запрос

Поэтому у меня есть несколько выпадающих списков на странице. Но мне нужно, чтобы они записывали свои записи из одного запроса базы данных, чтобы все выпадающие списки имели одинаковые списки. Я попытался это достичь, но то, что я получаю, – это только первое падение, которое заселяется. Это то, что я сделал ниже и нуждаюсь в помощи.

<select name="pl2a" class="input-field-login3" id="pl2a" tabindex="1"> <option selected="Selected">--Select Player--</option> <?php do { ?> <option value="<?php echo $row_playersa['plyName']; ?>"><?php echo $row_playersa['plyName']; ?></option> <?php } while ($row_playersa = mysqli_fetch_assoc($result_playersa)); ?> </select> 

Я использовал это повторно для всех выпадающих списков, просто изменив имя, чтобы дифференцировать. Но только первое падение вниз заселяется.

Solutions Collecting From Web of "Simultaneusly заполняет несколько выпадающих списков данными из таблицы mysql, используя тот же запрос"

mysqli_fetch_assoc потребляет строки из набора результатов, как вы его используете. Таким образом, после создания первого выпадающего списка вы достигли конца набора результатов, и дальнейшие вызовы mysqli_fetch_assoc вернут значение null . Чтобы решить эту проблему, сохраните результаты в массиве по мере их извлечения до вывода любого из выпадающих меню. Массив будет повторно использоваться.

Так сделайте это один раз:

 <?php while ($row_playersa = mysqli_fetch_assoc($result_playersa)) { $players[] = $row_playersa; } ?> 

И тогда вы можете делать это столько раз, сколько вам нужно:

 <select name="pl2a" class="input-field-login3" id="pl2a" tabindex="1"> <option selected="Selected">--Select Player--</option> <?php foreach ($players as $player): ?> <option value="<?php echo $player['plyName'] ?>"><?php echo $player['plyName'] ?></option> <?php endforeach ?> </select>