php - 将数据库中的数据显示为选择中的选项

标签 php html mysql

我正在编写一个用于在线 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/

相关文章:

php - 标记段落中的短语

php - 制作一个 Web 应用程序,允许用户编辑 html 模板并将这些模板保存在服务器上

html - Bootstrap 3 网格,一行中有多少列*真的*重要吗?

html - 当主 <div> 包装器中有第二个 <div> 时,自动调整 <div> 图像的大小

mysql 密码在终端中有效,但在 phpMyAdmin 中无效?

php - 插入自动增量字段的最佳方法? (PHP/MySQL)

php - Exchange Server 2007 Web 服务 PHP 类

PHP 包含和子文件夹

jquery - 单击菜单项时折叠或隐藏 CSS 下拉菜单

ssh - Mysql 恢复 1GB db 错误 2006 BLOB 文件