我想使用数据库中的数据创建选择列表
我做了这样的事情
<?php
if ($resultt->num_rows > 0) {
// output data of each row
while($row = $resultt->fetch_assoc()) {
?>
<select name="name" class="custom-select">
<?php
echo "<option value='1'" . $row['name'] . "'>" . $row['name'] . "</option>";
?>
</select>
<?php
}
} else {
echo "0 results";
}
?>
我看到我的输出,但是每个数据都放在单独的“盒子”中。我只想列表选择例如options1或2。 我做错了什么?
答案 0 :(得分:2)
您需要将<select>
元素放在循环之外。
<?php
if ($resultt->num_rows > 0) {
echo '<select name="name" class="custom-select">';
// output data of each row
while($row = $resultt->fetch_assoc()) {
echo "<option value='$row[id]'>$row[name]</option>";
}
echo '</select>';
} else {
echo "0 results";
}
答案 1 :(得分:1)
之所以发生这种情况,是因为您将<select>
放入了循环,因此每次创建新的<select>
只需将您选择的外部循环如下所示
<select name="name" class="custom-select">
<?php
while($row = $resultt->fetch_assoc()) {
echo "<option value='1'" . $row['name'] . "'>" . $row['name'] . "</option>";
}
?>
</select>
答案 2 :(得分:1)
您要在每个循环中嵌套选择元素
<select name="name" class="custom-select">
<?php
while($row = $resultt->fetch_assoc()) {
echo "<option value='".$row['name']."'>" .$row['name']."</option>";
}
?>
</select>
请注意不必要的单引号,它会破坏您的html:
"'>"