我正在编写一个用于在线 DVD 租赁和预订系统的网站,并尝试在下拉菜单中调用 DVDID,它是我的 phpmyadmin 数据库中的主键和 DVD 的标题,但是当我尝试调用其中的 ID 不起作用。任何帮助将不胜感激。
<form name="FrmAmend" method="post" action="amenddvd2.php">
Select from the list below<br>
<select name="Film" title="Select DVD">
<option value="" selected disabled>Select DVD</option>
<?php
$result = mysqli_query($con, "SELECT `DVDID`, `Title` FROM tbldvd;");
$row = mysqli_fetch_assoc($result);
foreach ($result as $row) {
echo "<option value='" . $row['DVDID'] . $row['Title'] . "'>" . $row['DVDID'] . $row['Title'] . "</option>";
}
?>
</select><br>
<a href="menu.php"</a>Return To Main Menu<br>
<input type="submit" name="Submit" value="Select DVD">
</a>
</form>
最佳答案
您遇到的问题是您收集数据的方式,您有以下问题;
$row = mysqli_fetch_assoc($result);
foreach ($result as $row) {
mysqli_fetch_assoc
从结果集中收集一行,更好的方法是替换上面的并使用下面的;
while ($row = mysqli_fetch_assoc($result) {
这将从数据库中逐行获取结果并打印这些结果,而无需在循环内进行更改
循环一段时间,使用 mysqli_fetch_assoc
收集每一行,一次一个,让您更有效地使用它。
所以,如果你有以下数据;
DVDID Title
1 ABC
2 DEF
while 循环为结果集中的每一行收集行,一次一个,其中单个 fetch_assoc 将收集出现在结果集中的第一行,仅此而已
此外,您还有以下 HTML;
<a href="menu.php"</a>Return To Main Menu<br>
这作为 HTML 无效,由此看来,您似乎希望“*Return To Main Menu”成为超链接,因此将上面的内容替换为以下内容将解决此问题;
<a href="menu.php">Return To Main Menu</a><br>
这会将结束符添加到第一个“a”(>
) 并将文本移动到 opener 和 closer 标签内
关于php - 将数据库中的数据显示为选择中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51188933/