![](/img/trans.png)
[英]Populating HTML 'select' drop down using sql array - Code not working
[英]updating a select drop down (html) with sql information
我真的很困惑。 我想使用 sql 數據庫中的信息創建一個 Select 下拉菜單。 一切都很好,但我有一個問題。 每次用戶更改選擇時,我如何更新選擇下拉列表。 這個問題真的很令人困惑,我真的不知道如何描述它。我在 php 中設置了代碼,然后把它放在我的頁面中。 這是代碼:
<?php
//creating a function to generate the second select menu
function createNameSelect(){
$options = "<select id='name'>"
$sql = "SELECT * FROM names WHERE category = 'c'";
$result = mysql_query($sql);
$options.="<option value='nothing'>-- select an option --</option>";
while ($row=mysql_fetch_array($result)){
$name=$row['name'];
$options.="<option value='$name'>$name</option>";
}
$options.="</select>";
return "$options";
}
?>
<!DOCTYPE html>
....
<select id = c>
<option value ='1'>option 1</option>
<option value ='2'>option 2</option>
<option value ='3'>option 3</option>
</select>
<?php createNameSelect(); ?>
....
</html>
現在,它運行良好,但是,它不會更新第一個之后的選擇菜單。 它會卡在從默認選項生成的菜單上。 知道我能做些什么來解決它嗎? 有js解決方案嗎?
謝謝!
試試這個
<select id = c ONCHANGE="location = this.options[this.selectedIndex].value;">
調用 ajax 並將更改的值保存在 db 中
例如
<select id = c>
PHP 是一個服務器端腳本——它將在服務器上精確執行一次,並將輸出發送到客戶端(查看器瀏覽器)。 因此,當用戶更改第一個選擇時,您不能一遍又一遍地調用該 PHP 函數。
您需要做的是創建一個單獨的 PHP 文件,當為第一個選擇提供有效選項時,它會打印出第二個選擇的代碼。 然后,您使用 AJAX 使用 jQuery .get() 函數調用該 PHP 文件,並將第二個選擇的內容替換為您獲得的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.