无法获得Select项目的价值?

时间:2011-06-28 22:17:14

标签: php javascript mysql select

我似乎无法将“选定项目”的值传递给PHP的JavaScript函数,该函数使用该值来查询来自MySQL数据库的数据 - >填充不同的下拉列表。

这是我的'HTML'代码

<select name="numbers" id="numbers" onChange="populateOtherSelect()">
   <option value="one">one</option>
   <option value="two">two</option>
   <option value="three">three</option>
   <option value="four">four</option>
</select>

<?php echo $option ?>

这是我的'JavaScript'功能代码

function populateOtherSelect() {
 <?php
   // code that opens db connection

   $numbers = $_POST['numbers']; 

   $query = "select*from Database.Table where Something = 'Something' and Numbers like '%".$numbers."%'";

   $result = mysql_query($query);

   $option = "";

   while($row = mysql_fetch_array($result))
    {
        $OtherOptions = $row["OtherOptions"];
        $option.="<option value=\"$OtherOptions\">".$OtherOptions."</option>\r\n";
    }

   // code that closes db connection
?>

}

任何信息都会有所帮助。

非常感谢

3 个答案:

答案 0 :(得分:2)

看来你的javascript代码是html / php文件的一部分而且不会起作用; php仅在初始页面加载时运行,此时可能没有$_POST变量。

您需要做的是,在第一次选择更改时,对php脚本进行ajax调用,并使用该ajax调用的响应来填充您的第二个选择。

所以基本上你的javascript函数必须看起来像:

function populateOtherSelect() {
  /*
   * 1. get the value of the numbers select
   * 2. make an ajax call to a php script / the server that gets some information from a database
   * 3. use the response from the ajax call to populate your second select
   */
}

答案 1 :(得分:0)

我认为你需要在select语句中添加一个空格:

$query = "select * from Database.Table where Something = 'Something' and Numbers like '%".$Numbers."%'";

答案 2 :(得分:0)

首先,$Numbers变量不存在,它是$numbers