我在edititem.php页面中有一个表单,用于编辑项目。想法是,从另一个页面,searchitem.php用户可以单击编辑并进入edititem.php页面来编辑所选项目。我要做的是自动化表单元素中的默认值填充选择要编辑的项目的值(来自searchitem.php),以便用户找到填充的表单,只需要修改必要的值/秒。 我将所有必需的变量传递给edititem.php并且我能够对所有输入标签进行包装,但是我对select标签没有设置所需值的问题。 select标签正在从mysql数据库动态填充。
<label>Category:</label>
<select name="category">
<?php
$selectedCategory = '';
if (isset($_POST['category'])) {
$selectedCategory = $_POST['category'];
}
$sql_cat = "SELECT id, description FROM category ORDER BY description ASC";
$result_cat = mysqli_query($connection, $sql_cat);
if(mysqli_num_rows($result_cat) > 0){
while($row = mysqli_fetch_assoc($result_cat)){
$selected = '';
if ($selectedCategory == $row['id']) {
$selected = 'selected';
}
echo '<option value="' . htmlspecialchars($row['id']) . '" '.$selected.'>'
. htmlspecialchars($row['description'])
. '</option>';
}
}
?>
使用上面的代码,select表中的项目将从表中动态填充,如果页面被刷新,则所选项目将保持为选定值。
但是,当我按下searchitem.php中的编辑项时,我无法设置默认值。表中的最后一个值显示为默认值。任何想法我怎么能实现这一点,因为我无法弄清楚如何做到这一点。请注意,所有变量都成功传递到edititem.php页面我只需要根据传递的变量设置选择下拉列表的默认值,同时保持选择下拉列表动态。