通过PHP提交表单后,保留下拉框的选定选项

问题描述

<label for='order-number'>Order Number: </label>
<select name='orderNumber' id='order-number'>
<option></option>
<?PHP
   // Select all order numbers
   $query_orderNumber = "SELECT orderNumber FROM orders ORDER BY orderNumber ASC";

   // Store them into $order_numbers
   $order_numbers = MysqLi_query($connection,$query_orderNumber);

   while ($row = MysqLi_fetch_assoc($order_numbers)) {
      $num = $row['orderNumber'];
      $selected = (isset($_POST['orderNumber']) && ($_POST['orderNumber']=='$num')) 
                   ? "selected='selected'":'';
      echo "<option value='$num' ". $selected. " >$num</option>";
   }
?>
</select>

我使用数据库中的数据创建了此下拉列表。我想通过PHP提交表单后保留选定的选项。但这并不会保留我选择的选项。

解决方法

您不需要像这样使用'$ num'

$selected = (isset($_POST['orderNumber']) && ($_POST['orderNumber']== $num)) ? "selected='selected'":'';