Я хочу составить раскрывающийся список на основе параметров, полученных из базы данных MySQL. На данный момент мой код выглядит так:
<?php
if ($resultCheck12 > 0) {
while ($row = mysqli_fetch_assoc($result12)) { ?>
<select name = "storage_location[]" required>
<option value = ""></option>
<option value = "<?php echo $row['id']; ?>"><?php echo $row['storage_name']; ?></option>
</select>
<?php } } ?>
И этот код должен дать результат, который будет выглядеть следующим образом, если он был закодирован бессистемно:
<select name = "sample_group[]" class = "sample_group" required>
<option value = ""></option>
<option value = "water">Water</option>
<option value = "pharmaceutical">Pharmaceutical</option>
<option value = "food">Food</option>
<option value = "food">Swabs</option>
<option value = "custom">Custom</option>
</select>
Однако результаты дают примерно следующее:
<select name = "sample_group[]" class = "sample_group" required>
<option value = ""></option>
<option value = "water">Water</option>
</select>
<select name = "sample_group[]" class = "sample_group" required>
<option value = ""></option>
<option value = "pharmaceutical">Pharmaceutical</option>
</select>
<select name = "sample_group[]" class = "sample_group" required>
<option value = ""></option>
<option value = "food">Food</option>
</select>
<select name = "sample_group[]" class = "sample_group" required>
<option value = ""></option>
<option value = "swabs">Swabs</option>
</select>
<select name = "sample_group[]" class = "sample_group" required>
<option value = ""></option>
<option value = "custom">Custom</option>
</select>
Вместо того, чтобы создавать один раскрывающийся список, он создает по одному для каждой переменной из базы данных MySQL.
Есть идеи, как решить эту проблему?






<?php
if ($resultCheck12 > 0) { ?>
<select name = "storage_location[]" required>
<option value = ""></option>
<?php while ($row = mysqli_fetch_assoc($result12)) { ?>
<option value = "<?php echo $row['id']; ?>"><?php echo $row['storage_name']; ?></option>
<?php } ?>
</select>
<?php } ?>
Тег select должен находиться за пределами цикла while
Вы используете тег select внутри цикла while, поэтому он повторяется несколько раз.
<?php if ($resultCheck12 > 0) { ?>
<select name = "storage_location[]" required>
<option value = ""></option>
<?php while ($row = mysqli_fetch_assoc($result12)) { ?>
<option value = "<?php echo $row['id']; ?>"><?php echo $row['storage_name']; ?></option>
<?php } ?>
</select>
<?php } ?>