我有一个下拉菜单,其中列出了关联的ID'来自mysql数据库:
<fieldset>
<legend><strong>Change ID:</strong></legend>
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$databaseName = "change_management";
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
$query3 = "SELECT `change_id` FROM `change_request_tbl` WHERE (approval_disposition LIKE 'Requires Editing')";
$result3 = mysqli_query($connect,$query3);
?>
<select required name="change_id">
<option value="">Please specify...
<?php
while ($roww = mysqli_fetch_array($result3))
{
echo "<option value='".$roww['change_id']."'>".$roww['change_id']."</option>";
}
?>
</select>
<input type="submit" name="get" value="Get Details" class="btn">
</fieldset><br><br><br>
当用户点击&#34;获取详细信息&#34;下拉列表将恢复为&#34;请指定&#34;。我发现了许多如何在提交后保存值的示例,但似乎没有一个适用于我的代码,因为我从数据库中获取值。 无论如何以当前格式保存最后输入的值?
答案 0 :(得分:1)
当用户提交表单时,表单值change_id
具有您要查找的值。因此,在填充option
元素时,您可以检查它们中的任何一个是否与提交的内容相匹配,并将其设置为选中。像这样:
if (isset($_POST['change_id']) && $roww['change_id'] == $_POST['change_id']) {
echo "<option selected value='".$roww['change_id']."'>".$roww['change_id']."</option>";
} else {
echo "<option value='".$roww['change_id']."'>".$roww['change_id']."</option>";
}
或者如果你想在一行上使用它(使用三元条件运算符):
echo "<option ".((isset($_POST['change_id']) && $roww['change_id'] == $_POST['change_id']) ? "selected" : "")." value='".$roww['change_id']."'>".$roww['change_id']."</option>";