簡體   English   中英

使用 sql 信息更新選擇下拉列表 (html)

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

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