使用PHP从MSSQL数据填充选择框

时间:2014-04-10 13:15:30

标签: php sql-server

我已经搜索过并找到了一些很接近的答案,但并不是我需要的答案。我希望有人能指出我正确的方向。

我有一份工作任务,我不完全知道该怎么做。我对PHP和SQL有基本的了解,但对HTML和CSS有深入的了解。

所以,我建立了一个漂亮的网页表格,里面有很多选择框。有些人会从MS SQL数据库中直接提取数据。提交后,有些人会将数据推送回数据库。对于这个问题,我想集中精力从数据库中提取。

我确实将PHP页面连接到数据库,但是填充选择框让我真的很难过。我想学习如何做到这一点。

我的表单页面正在使用如下连接信息调用config.php文件:

<?php
//Require config file with DB connection details
require_once('config.php');
?>

我的配置文件如下所示:

<?php
$serverName = "xxxxxxxxx\xxxxxx"; //serverName\instanceName
$connectionInfo = array( "Database"=>"xxxxx", "UID"=>"xxxxx", "PWD"=>"xxxxx");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
 echo "Congratulations! Your DB connection has been established.<br />";
}else{
 echo "Connection could not be established.<br />";
 die( print_r( sqlsrv_errors(), true));
}
?>

我的页面显示连接成功的消息。我的一个大问题是,我还需要在表单页面上放置什么以使其在选择框中显示数据?

这是我在尝试但不起作用......

<?php
//Require config file with DB connection details
require_once('config.php');

$result = mssqli_query($con,"SELECT * FROM Auditors ORDER BY ID");

while($row = mssqli_fetch_array($result))
  {
  echo $row['AuditorName'];
  echo "<br>";
  }

mysqli_close($con);
?>

然后选择框代码:

<select name="auditor" id="auditor">
<?php foreach ($result as $row): ?>
    <option><?=$row["Auditor"]?></option>
    <?php endforeach ?>
</select>

任何人都可以告诉我我做错了什么,并且可能发布一个有效的例子吗?一旦我弄清楚这部分,我还有其他几个选择框可以应用它,所以这将是一个很大的帮助。

上面的代码只给我一个空白页面,只有我成功的数据库连接消息。我的整个表单消失了,没有错误信息。

提前感谢您的时间, 杰森

1 个答案:

答案 0 :(得分:0)

不是同时使用while和foreach,而是通过将while循环降低来使其工作

<select>
<?php
while($row = mssqli_fetch_array($result))
{  
   echo '<option>' . $row["Auditor"] . '</option>';
}
?>
</select>

<?php
   mysqli_close($con);
?>