用PHP和SQL填充选择列表

用PHP和SQL填充选择列表,php,mysql,sql-server,Php,Mysql,Sql Server,我正在从SQL server调用选项列表,并将其输出到数组中。。请参阅查询: SQL $location = "SELECT location_id, location_name, location_postcode, location_buildingname FROM dbo.system_locations"; $stmt = sqlsrv_query( $conn, $location ); PHP <select class="form-contr

我正在从SQL server调用选项列表,并将其输出到数组中。。请参阅查询:

SQL

$location = "SELECT location_id, location_name, location_postcode, location_buildingname
             FROM   dbo.system_locations";
$stmt = sqlsrv_query( $conn, $location );
PHP

<select class="form-control" name="location">
   <?php while ($row = sqlsrv_fetch_array($stmt)){ ?>
     <option>
        <?php echo $row['location_name']?>
     </option>
   <?php } ?>
</select>

这非常有效,但是我希望在数据库中选择的选项成为选中的选项

有一个因素,可以通过访问设置部分并添加新位置来添加选择列表,否则我将使用三元运算符方法。

试试这个

<select class="form-control" name="location">
   <?php while ($row = sqlsrv_fetch_array($stmt)){ ?>
   <option <?php ($row['selected'] == 1){echo 'selected';}?>>
      <?php echo $row['location_name']?>
   </option>
   <?php }?>
</select>


不应该是
$stmt=sqlsrv\u查询($conn,$location)取而代之?感谢编辑@HawasKaPujaari致歉我缩小了代码范围所以,数据库中的什么决定了应该选择哪一个?根据员工记录,我有一个包含位置的列\u id您可以更详细地解释为什么不能使用三元运算符方法吗?根据OP:“有一个因素,可以通过访问设置部分并添加新位置来添加选择列表,否则我将使用三元运算符方法。“事实上,我不明白你们想要什么?对不起,伙计们。。我有两个表,一个包含位置,一个包含员工。。根据员工记录,我保存了位置id。。我想输出员工记录上的所有位置,但已选择所选位置。。然后,如果用户想要更新,他们可以从下拉列表中选择并分配新位置。。在“我的系统设置”中,用户可以添加新位置,因此新位置必须显示在“选择”列表中。为什么OP“尝试此操作”?一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。