我已经搜索过并找到了一些很接近的答案,但并不是我需要的答案。我希望有人能指出我正确的方向。
我有一份工作任务,我不完全知道该怎么做。我对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>
任何人都可以告诉我我做错了什么,并且可能发布一个有效的例子吗?一旦我弄清楚这部分,我还有其他几个选择框可以应用它,所以这将是一个很大的帮助。
上面的代码只给我一个空白页面,只有我成功的数据库连接消息。我的整个表单消失了,没有错误信息。
提前感谢您的时间, 杰森
答案 0 :(得分:0)
不是同时使用while和foreach,而是通过将while循环降低来使其工作
<select>
<?php
while($row = mssqli_fetch_array($result))
{
echo '<option>' . $row["Auditor"] . '</option>';
}
?>
</select>
<?php
mysqli_close($con);
?>