现在我有一个工作解决方案,用于填充HTML <select>
/ <option>
- 通过我的database: listoption
PHP / MYSQLI 中的内容下拉列表。< / p>
数据库:
DATABASE NAME:
# listoption
TABLES:
# ID INT(11) *Primary AI
# listoption_item VARCHAR(255)
这是其他代码(不是mysqli连接,但之后的所有内容......)
<?php
$result = $mysqli->query("select * from listoption");
echo "<select id='list' name='list'>";
while ($row = $result->fetch_assoc()) {
$listoption_item = $row['listoption_item'];
echo '<option value="'.$listoption_item.'">'.$listoption_item.'</option>';
}
echo "</select>";
?>
但现在的问题是,我希望通过该查询填充其中一个选项为selected
。并且应该通过URL中的参数来确定要选择的选项,例如:index.php?id=1
。
所以现在我需要以某种方式在代码中添加IF / ELSE和$_GET['id'];
,以使其识别数据库中的ID是否与填充的项目相同,然后将其设置为选中。
任何idéas?谢谢!
答案 0 :(得分:1)
你可以这样做,如下所示:
<?php
$result = $mysqli->query("select * from listoption");
$id = ($_GET['id'])? $_GET['id'] : '';
echo "<select id='list' name='list'>";
while ($row = $result->fetch_assoc()) {
$listoption_item = $row['listoption_item'];
$sel = ($id == $row['id'])? 'selected="selected"':'';
echo '<option value="'.$listoption_item.'" '.$sel.'>'.$listoption_item.'</option>'; // $sel will deside when to set `selected`
}
echo "</select>";
?>
&#13;
答案 1 :(得分:0)
您可以按如下方式重写代码:
<?php
$id = $_GET['id'];
$select = "";
$result = $mysqli->query("select * from listoption");
echo "<select id='list' name='list'>";
while ($row = $result->fetch_assoc()) {
$row_id = $row['ID'];
if($row_id == $id){
$select = "selected";
}
$listoption_item = $row['listoption_item'];
echo '<option value="'.$listoption_item.'" selected="'.$select.'">'.$listoption_item.'</option>';
}
echo "</select>";
?>
答案 2 :(得分:0)
使用以下代码: -
<?php
$selectedId = isset($_GET['id'])?$_GET['id']:0;
$result = $mysqli->query("select * from listoption");
echo "<select id='list' name='list'>";
while ($row = $result->fetch_assoc()) {
$listoption_item = $row['listoption_item'];
echo '<option value="'.$listoption_item.' .(($selectedId>0)?:" selected ":"").'">'.$listoption_item.'</option>';
}
echo "</select>";
?>