所选选项不会显示在下拉菜单中


Selected option does not show in dropdown menu

我创建了一个函数,它从数据库中检索数据并将其放入下拉菜单中。这一步做得很好。

在这里,我得到了包含所有所需值的下拉菜单。

function termopaneli() {
   $link = new mysqli("localhost", "xxx", "xxxx", "xxx");
   $link->set_charset("utf8");
   $sql=mysqli_query($link, "SELECT * FROM termopaneli order by PaneliId asc");
   echo '<option value="">Izaberi panel</option>';
   while($record=mysqli_fetch_array($sql)){
      echo '<option value= "' .$record['PaneliId']. '">' . $record['PaneliNaziv'] . ' </option>';
}
} 

稍后,当我想查看下拉列表中选择了什么时,它不会打印。我正在使用此表单进行编辑,因此选定的值很重要。首先,我从数据库中获取值。除了在下拉列表中打印所选值外,其他一切都正常。

首先,我得到$panel值,当我回显$panel时,我得到应该得到的值。但它不会显示为选定选项。

<label>Panel</label>
  <select class="form-control" name="panel" value="<?php echo $panel; selected" ?>">
    <option value=<?php echo $panel?> selected>
      <?php termopaneli()?>
    </option>
  </select>

如有任何帮助或建议,我们将不胜感激。

看起来</option>应该出现在PHP函数调用之前。

另外,检查<select>中的值是否正确?

<label>Panel</label>
<select class="form-control" name="panel" value="<?php echo $panel; ?>">
   <option value=<?php echo $panel?> selected> SELECTED_OPTION </option>
   <?php termopaneli()?>
</select>

假设在编辑时,u选择了类似$select=5 的值

<label>Panel</label>
  <select class="form-control" name="panel" value="<?php echo $panel; selected" ?>">
    <option value=<?php echo $panel?> selected>
      <?php termopaneli($select)?>
    </option>
  </select>
function termopaneli($select) {
   $link = new mysqli("localhost", "xxx", "xxxx", "xxx");
   $link->set_charset("utf8");
   $sql=mysqli_query($link, "SELECT * FROM termopaneli order by PaneliId asc");
   echo '<option value="">Izaberi panel</option>';
   while($record=mysqli_fetch_array($sql)){
      echo '<option value= "' .$record['PaneliId']. '"; if($record['PaneliID']==$select){echo 'selected=selected'}>' . $record['PaneliNaziv'] . ' </option>';
}
}