使用 PHP 设置选定的选项值

Set selected option value using PHP

我在 PHP 中使用下拉菜单。如何在 POST 方法之后设置 selected 值。我在 php 文件中创建了 select 框。下面我提到了示例代码

<?php 
  $postval = $_POST['dbfld'];

  $opvar = "<select name='".$name."' id='".$Id."'><option    value=''> Select ART_ID</option>";

  while($row = mysqli_fetch_array($result_sql,MYSQLI_ASSOC)) { 
    $opvar .= "<option value='".$row[$dbfld]."'>".$row[$dbfld]."</option>";
  }

  $opvar .= "</select>";
?>

在上面的示例中,我如何在 post 方法之后设置 selected 选项。 提前致谢

试试这个:

<?php 
  $postval = $_POST['dbfld'];

  $opvar = "<select name='".$name."' id='".$Id."'><option    value=''> Select ART_ID</option>";

  while($row = mysqli_fetch_array($result_sql,MYSQLI_ASSOC)) { 
    $selected = $postval == $row[$dbfld] ? ' selected="selected"' : '';
    $opvar .= "<option value='".$row[$dbfld]."'".$selected.">".$row[$dbfld]."</option>";
  }

  $opvar .= "</select>";
?>

为了完整起见,您也可以使用一个简单的 if 子句来完成此操作。

if($postval == $row[$dbfld]){
   $opvar .= "<option value='".$row[$dbfld]."' selected='selected'>".$row[$dbfld]."</option>";
}else{
   $opvar .= "<option value='".$row[$dbfld]."'>".$row[$dbfld]."</option>";
}

虽然这确实为一些简单的功能添加了一大块代码,但它允许您在 if 子句中执行更广泛的操作,而无需添加更多代码。

您可以使用 <select> 元素的 属性 selected="selected"

使用三元运算符来最小化代码。

<?php 
$postval = $_POST['dbfld'];    
$opvar = "<select name='".$name."' id='".$Id."'><option    value=''> Select ART_ID</option>";
while($row = mysqli_fetch_array($result_sql,MYSQLI_ASSOC)) { 
  $selected = ($row[$dbfld] == $postval) ? 'selected="selected"' : '';
  $opvar .= "<option value='".$row[$dbfld]."'" . $selected . ">".$row[$dbfld]."</option>";
}
$opvar .= "</select>";
?>