php - 无法从 PHP、SQL 中的下拉列表中获取所选值

标签 php html mysql

我有以下代码:

<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/

相关文章:

php - 在 while 循环中附加到数组是否安全?

php - 当文本框名称包含方括号时,Javascript 不起作用

php - 从两个表中选择而不是订购

php - 仅在需要时自动连接到 PDO

php - 如何使用ajax从另一个页面加载内容

php - PDOStatement执行SQLSTATE参数个数无效

html - 在 Safari 中打印时不会出现某些文本

html - 带有 HTML 的 Angular-ui 工具提示

javascript - 传递一个随机 ID 作为参数

php - MySQL Workbench 与 PHP 的执行结果不同