Php 使用sql信息更新选择下拉列表(html)

Php 使用sql信息更新选择下拉列表(html),php,javascript,html,sql,select,Php,Javascript,Html,Sql,Select,我真的很困惑。我想使用sql数据库中的信息创建一个选择下拉菜单。一切都很顺利,但我有一个问题。如何在用户每次更改其选择时更新“选择”下拉列表。这个问题真让人困惑,我真的不知道该如何描述它。。我用php设置代码,然后将其放入我的页面中。代码如下: <?php //creating a function to generate the second select menu function createNameSelect(){ $options = "<select

我真的很困惑。我想使用sql数据库中的信息创建一个选择下拉菜单。一切都很顺利,但我有一个问题。如何在用户每次更改其选择时更新“选择”下拉列表。这个问题真让人困惑,我真的不知道该如何描述它。。我用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调用该PHP文件,使用jQuery.get()函数,然后将第二个选择的内容替换为您得到的结果。

第一个选择应该如何更新下一个选择?我想让页面做的是,一旦我更改第一个选择,第二个选择将更新其查询并再次生成,而无需刷新页面