#html #mysql
#HTML #mysql
Вопрос:
Я пытаюсь создать выпадающий список типов ковров для веб-сайта, но каждый раз, когда я пытаюсь извлечь данные со своего сервера mysql, он помещает типы ковров в 3 отдельных тега выбора, и я не знаю почему? мой код довольно прост:
<?php
include('config.inc');
$result = mysqli_query($con,"SELECT * FROM DBForm");
while($row = mysqli_fetch_array($result)) {
echo "<select>";
echo "<option value=" . $row['id'] . ">" . $row['carpetTypes'] . "</option>";
echo "</select>";
}
echo "</table>";
?>
любая помощь будет принята с благодарностью.
Ответ №1:
я бы поставил select вне цикла while:
echo "<select>";
while($row = mysqli_fetch_array($result)) {
echo "<option value=" . $row['id'] . ">" . $row['carpetTypes'] . "</option>";
}
echo "</select>";
невыполнение этого требования приведет к созданию одного выбора параметра для каждой итерации
Ответ №2:
Вам нужно поместить <select>
вне цикла. Более того, более компактное решение может быть
<?php
include 'connectDB.inc';
$options = "";
if($tablesQuery = mysqli_query($connect,"SHOW TABLES"))
{
while($tables = mysqli_fetch_array($tablesQuery))
{
$options = "$options"."<option>
$tables[0]
</option>";
}
}
?>
для получения параметров из mysql. И сохранение простого html :
<select id = "table1" name = "table1">
<?php
echo "Select table1 : <br> $options "; ?>
</select>
Ответ №3:
Переместите значение "<select>"
to перед циклом while и echo "</select>";
после закрытия }
Вы хотите вывести тег выбора только один раз, тег опции для каждого элемента.