[英]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.