Установить выбранное значение параметра с помощью PHP

Я использую раскрывающийся список в PHP. Как установить выбранное значение после метода POST. Я создаю поле выбора в файле php. Ниже я упомянул пример кода

<?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>";
?>

В приведенном выше примере показано, как установить выбранный параметр после метода публикации. заранее спасибо


person Bibin James    schedule 29.09.2015    source источник


Ответы (3)


Попробуй это:

<?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>";
?>
person Mario A    schedule 29.09.2015

Для полноты вы также можете сделать это с помощью простого предложения 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 без необходимости добавлять дополнительный код.

person Epodax    schedule 29.09.2015

Вы можете использовать свойство selected="selected" элемента <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)) { 
  $selected = ($row[$dbfld] == $postval) ? 'selected="selected"' : '';
  $opvar .= "<option value='".$row[$dbfld]."'" . $selected . ">".$row[$dbfld]."</option>";
}
$opvar .= "</select>";
?>
person Pupil    schedule 29.09.2015