Php Javascript函数从MySQL填充选择菜单

Php Javascript函数从MySQL填充选择菜单,php,javascript,mysql,Php,Javascript,Mysql,我有这段PHP代码,它填充了MySQL数据库中的选择菜单 <select name="input" id="input"> <?php $sql="SELECT * from table "; $rs=mysql_query($sql,$conn) or die(mysql_error()); while($result=mysql_fetch_array($rs)) { echo '<option value="'.$result["db_field"].'"&

我有这段PHP代码,它填充了MySQL数据库中的选择菜单

<select name="input" id="input">
<?php
$sql="SELECT * from table ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
while($result=mysql_fetch_array($rs))
{
    echo '<option value="'.$result["db_field"].'">'.$result["db_field"].'</option>';
}
?>
</select>
这非常好,但我需要以某种方式将其放入javascript函数中


我有javascript代码,当你点击一个按钮时,它会添加更多的文本框和另一个选择菜单,但它不会在任何新添加的选择菜单中填充数据库中的数据,你可能可以使用JSON_encode将选项转换为JSON。我不是PHP程序员,不知道使用它的确切语义

在PHP中,执行以下操作:

echo '<script>var optionsJSON = '.json_encode(mysql_fetch_array($rs)).'</script>'
var values = ['value0','value1','value2'];
在javascriptn中,执行类似于使用jquery的操作:

var select = $('select.classOfThisSelect');
var options = JSON.parse(optionsJSON);
for(var i = 0; i < options.length; i++)
  $('option').attr({value: options[i]}).append(options[i]).appendTo(select);
optionsJSON将是全球可用的JSON字符串 您可以在Javascript函数中自由使用它


注意:您可能需要将json_编码用引号括起来,首先将值字符串转换为数组,这样您就可以:

echo '<script>var optionsJSON = '.json_encode(mysql_fetch_array($rs)).'</script>'
var values = ['value0','value1','value2'];
然后可以将它们转换为选项,并将它们添加到选择元素,如:

function addOptions(select, values) {
  for (var i=0, iLen=values.length; i<iLen; i++) {
    select.appendChild(new Option(values[i],values[i]));
  }
}
将选择添加到页面后

顺便说一句,您不需要同时向表单控件添加id和名称。您必须有一个名称才能提交,ID是不必要的。如果获得对窗体的引用,则可以将控件作为窗体的命名属性访问,因此可以使用以下方法引用select:

document.forms[0]['input'];


等等。请注意,输入不是控件名称的好选择。

也许你可以创建一个数组并在JavaScript中使用它。我想这是我需要的,但我不知道如何,你是否有机会帮我一把。这篇文章可以给你一个主意,希望对你有所帮助!=添加其他选择菜单的代码是什么?嗯-不太确定这是否是我需要的:还有其他想法吗?啊哈好的-我如何将数据库中的值转换成var值?我无法解决如何将mysql值转换成javascript中的var值?您是从XMLHttpRequest获得它们的吗?如果是这样,您可以将它们作为JSON返回并将其转换为数组,或者作为分隔字符串返回并在分隔符上使用split。