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