【问题标题】:updating a select drop down (html) with sql information使用 sql 信息更新选择下拉列表 (html)
【发布时间】:2012-05-20 15:07:01
【问题描述】:

我真的很困惑。我想使用 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的解决方案?

谢谢!

【问题讨论】:

  • 第一个&lt;select&gt;应该如何更新下一个?
  • 我希望页面做的是,一旦我更改了第一个

标签: php javascript html sql select


【解决方案1】:

PHP 是一个服务器端脚本 - 它会在服务器上精确执行一次,输出将发送到客户端(查看器浏览器)。因此,当用户更改第一个选择时,您不能一遍又一遍地调用该 PHP 函数。

您需要做的是创建一个单独的 PHP 文件,当为第一个选择提供有效选项时,它会打印出第二个选择的代码。然后,您使用 AJAX 使用 jQuery .get() 函数调用该 PHP 文件,并将第二个选择的内容替换为您获得的结果。

【讨论】:

    【解决方案2】:

    试试这个

    <select id = c ONCHANGE="location = this.options[this.selectedIndex].value;">
    

    调用ajax并将修改后的值保存到db中

    代表

    <select id = c>
    

    【讨论】:

      猜你喜欢
      • 2021-08-31
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      相关资源
      最近更新 更多