簡體   English   中英

無法從PHP,SQL的下拉列表中獲取選定的值

[英]Can't get selected value from dropdown in 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 ,這不是我想要的。 在這種情況下,我想獲取電影的標題,該標題是從下拉列表中選擇的。

我究竟做錯了什么?

您在此行中為代碼中的每個選項硬編碼了相同的值 :-

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

這就是為什么您每次獲得同等價值的原因。

更改為以下:

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

現在它將正常工作。

注意:-每個HTML元素的id必須唯一,因此請刪除該重復id (我認為您不需要)

改變這個

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

您正在對值<option value="director_movie1" id="film_id">硬編碼,並且想知道為什么您的表單提交了硬編碼的值?

您所選擇的電影標題就是用戶可以看到的。 您的表單將提交您投入value=<your required information here>

另外請注意:如果要根據所選標題獲取電影信息,則在將字符(數字)用作標題時,將標題用作字段可能會導致問題。 更好地使用電影的ID

1st:將您的value屬性更改為value="<?php echo $row['Title']; ?>"

第二: Id屬性對於每個元素都是唯一的。 從選項標簽id="film_id"其刪除

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

在行下更改

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

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

現在您將獲得動態值不同的選項,而且id不能對所有

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM