我有以下代码:
<form action="MovieDatabase.php" method='post'>
<select name="director_movie">
<?php
$sql = mysqli_query($mysql, "SELECT DISTINCT Title FROM Film2");
while ($row = $sql->fetch_assoc()){
?>
<option value="director_movie1" id="film_id"><?php echo $row['Title']; ?></option>
<?php
// close while loop
}
?>
</form>
对于下拉列表,它使用 SQL 表中的值。因此,下拉菜单具有电影标题的值。
当我尝试从 MovieDatabase.php 访问所选值时,如下所示:
$_POST['director_movie'];
当我尝试回显它时,它只显示选项值direcotr_movie1,这不是我正在寻找的。在本例中,我想获取从下拉列表中选择的电影的标题。
我做错了什么?
最佳答案
您在这行代码中为每个选项硬编码了相同的值:-
<option value="director_movie1" id="film_id"><?php echo $row['Title']; ?></option>
这就是为什么您每次都获得相同的值。
将其更改为以下内容:-
<option value="<?php echo $row['Title'];?>"><?php echo $row['Title'];?></option>
现在就可以正常工作了。
注意:- id
对于每个 HTML 元素都需要是唯一的,因此删除重复的 id
(我认为您不需要这样做)
关于php - 无法从 PHP、SQL 中的下拉列表中获取所选值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732864/