PHP -更新HTML选择列表以显示当前值


PHP - Update HTML Select list to show current value

我正在制作一个简单的HTML表单,它将为所选的销售人员包含一个下拉列表。该列表来自数据库,位于存储在变量$ids中的数组中,如下所示:

Array ( [John Jones] => JJ [Sally Smith] => SS [Victor Howards] => VH [Barnie Kemp] => BK )

下面是当前select列表的构造方式:

<?php
                          $output = "";
                          $selected = false;
                          foreach ($ids as $id => $value) {
                              $output .= "<option value='"$value'"";
                              if ($id == $record->getField('initials')) {
                                  $selected = true;
                                  $output .= " selected";
                                  $selectedID = $record->getField("id");
                              }
                              $output .= ">$id</option>";
                          }
                          if (!$selected) {
                              $chosen = $record->getField("initials");
                              $output = "<option value='"$chosen'" selected>$chosen</option>$output";
                          }
                          echo $output;
                        ?>

我正在尝试更新选择列表,以显示此字段的当前值作为所选选项。我将名称/值存储在这些变量中:

$initials
$name

如果$initials = 'SS',我希望Sally Smith是列表中的选定值

尽量使用简单的

<?php
      $output = "";
      foreach ($ids as $id => $value) {
          $selected = "";
          if ($id == $record->getField('initials')) {
              $selected = "selected";
          }
          $output .= "<option value='$value' $selected>$id</option>";           
      }
      echo $output;
?>

不要让你的代码太复杂。像这样做:

 $value=$record->getField('initials');
 foreach ($ids as $id => $valueData) {
    if($id==$value)
       echo "<option value='".$id."' selected='selected' >$id</option>";  
    else
           echo "<option value='".$id."'>$id</option>";  
}