如何在PHP MySQL下拉列表中设置选定项

如何在PHP MySQL下拉列表中设置选定项,php,mysql,drop-down-menu,Php,Mysql,Drop Down Menu,我有一个表bus,其中列bus\u id,bus\u no 我尝试了多选回显,我尝试了下面的代码,但它重复了总线号 请帮助我回显所有总线,并回显所选总线旁边的所选 <form name="editstudent" method="get" action="testmulti.php"> <select name="numBus[]" multiple> <?php $selBus=mysql_query("SELECT * FROM najdsy_bus orde

我有一个表
bus
,其中列
bus\u id,bus\u no

我尝试了多选回显,我尝试了下面的代码,但它重复了
总线号

请帮助我回显所有总线,并回显所选总线旁边的
所选

<form name="editstudent" method="get" action="testmulti.php">
<select name="numBus[]" multiple>

<?php
$selBus=mysql_query("SELECT * FROM najdsy_bus order by bus_id");
while ($rowBus=mysql_fetch_array($selBus)) {
    foreach ($numBus as $key=> $value) {
        if ($rowBus['bus_id']==$value) {
            $SelectedBus = "selected";
        } else {
            $SelectedBus = "";
        }
        echo '<option value="'.$rowBus['bus_id'].'"'.$SelectedBus.'>'.$rowBus['bus_no'].' '.$SelectedBus.'</option>';
    }
}
?>
</select>
<br/>
<input type="submit" value="test">
</form>



$rowBus[bus\u no]
替换为
$rowBus['bus\u no']
,并将
$rowBus[bus\u id]
替换为
$rowBus['bus\u id']

此更改的原因是$rowBus是一个具有如下结构的数组:
array([bus\u id]=>value)
。正如您看到的,它的键是一个字符串,所以要访问它,您必须“告诉”php查找它


字符串可以用
“some\u string”
“some\u string”
表示。由于键是一些没有任何特殊格式的文本,因此建议您使用
而不是

看来你不应该把
echo“请停止使用古老的
mysql.*
函数编写新代码。它们不再得到维护,社区已开始恢复。相反,你应该学习并使用或。如果您愿意学习,这是一个相当不错的PDO相关教程。请举例说明您获得的输出以及所需的输出。您不应该只选择
。它应该是
something
while ($rowBus=mysql_fetch_array($selBus)) {
  $SelectedBus="";
  foreach ($numBus as $key => $value){
    if ($rowBus["bus_id"]==$value){
      $SelectedBus="selected";
    }
  }
  echo '<option value="'.$rowBus["bus_id"].'"'.$SelectedBus.'>'
     .$rowBus["bus_no"].' '.$SelectedBus.'</option>';
}