在选择中

时间:2018-07-05 10:23:56

标签: 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>

1 个答案:

答案 0 :(得分:2)

您遇到的问题是收集数据的方式,您具有以下条件;

$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”(>)的末尾添加到文本中,并将文本移到开始标记和更接近的标记之内