2017-08-17 42 views
0

我有以下代码:进不去PHP从下拉菜单中选择值,SQL

<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这不是我正在寻找。在这种情况下,我想获得从下拉列表中选择的电影的标题。

我在做什么错?

+0

所有选项都有相同的值('director_movie1')。使用从数据库中为每一行获取的ID。 – axiac

+0

当你使用$ _POST ['some_name'] ..你得到任何设置'value ='...如果你想电影标题,然后设置'value = $ row ['Title']' –

回答

1

您硬编码相同的值每个选项在这行代码: -

<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(我不认为你有任何需要的那个)

+0

是的,是有道理的。谢谢! – anthony

+0

@anthony很高兴为您提供帮助。欢迎:) :) –

+0

@AlivetoDie我已经成功提取client_name的下拉菜单,现在我想根据选定的下拉值在文本框中显示client_village。怎么样 ? –

0

您正在对您的价值进行硬编码<option value="director_movie1" id="film_id">并想知道您的表单为什么会提交您的硬编码值?

您的选择中显示的电影标题正是用户可以看到的。您的表单会提交您输入的内容value=<your required information here>

另一个注意事项:当您想根据所选标题获取电影信息时,使用标题作为字段可能会导致使用除字符/数字之外的任何内容作为标题时出现问题。更好地利用你的电影

0

1日ID:你的价值属性更改为value="<?php echo $row['Title']; ?>"

第二: id属性是每个元素的独特。从选项标签中取出id="film_id"

<option value="<?php echo $row['Title']; ?>" ><?php echo $row['Title']; ?></option> 
0

低于线

<option value="director_movie1" id="film_id"><?php echo $row['Title']; ?></option> 

变化与

<option value="<?php echo $row['Title']; ?>" ><?php echo $row['Title']; ?></option> 

现在你会得到动态值不同的选择也id不能对所有

相同的值
1

更改此

<option value="director_movie1" id="film_id"><?php echo $row['Title']; ?></option> 

<option value=<?php echo $row['Title']; ?> id="film_id"><?php echo $row['Title']; ?></option>