更新带有选择选项的表单

3

我有一个表单,其中包含用于数据输入的选择选项(选项从MySQL数据库中获取),如果我想在以后更新表单,是否可以将表单选择选项作为预选项获取?

这里我展示了具有选择选项的表单的代码:

<?php
$queryjob = "SELECT * FROM `job`";
$result2 = mysqli_query($con, $queryjob);

$options = "";

while($row2 = mysqli_fetch_array($result2))
    {
        $options = $options."<option>$row2[1]</option>";
    }

?>


 <tr>
   <td ><div class='tabdata' align="right"> Name of Job/Survey:&nbsp;</div></td>
   <td > <div class='tfieldz' align="right">
         <select class='tfieldz' id="job_name" name="job_name" required='required'>
        <?php echo $options;?>
        </select></div>
  </td>
</tr>

当然可以。但是目前,代码没有指示所选选项最初存储的位置(在表单再次呈现之前)。因此,实际上没有任何参考来进行比较。 - Dhruv Saxena
在您的情况下,您需要做的唯一更改是......while($row2 = mysqli_fetch_array($result2)) { if($row2[1] == $some_previously_stored_value){ $options = $options."<option selected>$row2[1]</option>"; } else{ $options = $options."<option>$row2[1]</option>"; } } - Dhruv Saxena
所有选项都存储在数据库中吗? - Rusty
@Dhruv Saxena 非常感谢,它运行良好。 - user3521051
2个回答

0

我理解您正在尝试设置选择框的默认选定值。要设置此值,您可以使用以下代码:

/** The selectbox default value. This can come from database */
$selectbox_value = "selectbox default value";
while($row2 = mysqli_fetch_array($result2))
    {
        if ($selectbox_value == $row2[1]) $options = $options."<option SELECTED value='".$row2[1]."'>$row2[1]</option>";
        else $options = $options."<option value='".$row2[1]."'>$row2[1]</option>";
    }
在上述代码中,将value属性添加到option标签中。当表单被提交时,value属性的值会被发送到服务器并存储在数据库中。应该从数据库中读取这个存储的值,并保存到$selectbox_value中。

0

您可以在选项中添加 selected="" 属性,以使该选项被预先选择。

示例如下:

//You could use this in your loop

if($saved_value == $row[1]){
  echo "<option selected>$row[1]</option>";
}else{
  echo "<option>$row[1]</option>";
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,