Javascript 使用php到jquery ajax从数据库查询返回多个数据响应

Javascript 使用php到jquery ajax从数据库查询返回多个数据响应,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我的html页面中有两个选择框。假设第一个选择框包含用户可以选择的年份值(例如2013年、2014年、2015年等) 对于我的第二个selectbox,它必须依赖于第一个selectbox,并将使用php中的数据库查询(即..WHERE year='$year')从我的第一个selectbox中填充与年份匹配的值,类似于这样 现在,我想使用JQuery Ajax将请求发送到我的php脚本中,以执行对数据库的一些查询,并且必须返回查询结果中的所有数据,如下所示: selectPeriod.php

我的html页面中有两个选择框。假设第一个选择框包含用户可以选择的年份值(例如2013年、2014年、2015年等)

对于我的第二个selectbox,它必须依赖于第一个selectbox,并将使用php中的数据库查询(即..WHERE year='$year')从我的第一个selectbox中填充与年份匹配的值,类似于这样

现在,我想使用JQuery Ajax将请求发送到我的php脚本中,以执行对数据库的一些查询,并且必须返回查询结果中的所有数据,如下所示:

selectPeriod.php

$rci_date = $_POST['r_date1'];  // year selected from my form

$s1 = mysql_query("SELECT DISTINCT issue_date FROM issue_details WHERE 
                account_type='SPHERE' AND
                issue_type = 'ci' AND
                year(issue_date) = year('$rci_date') ORDER BY issue_date DESC ");

while($row = mysql_fetch_array($s1)) {
    $db_issueDate = $row['issue_date'];  // return this data
}
在我的jquery中,它应该接受来自php的数据,这是查询的结果,并用这个值重新填充我的第二个selectbox。类似于这种方式,但这不是我想要的,因为查询位于我的html页面上,只有在没有jquery的情况下才是静态的,并且没有与我的第一个选择框的用户交互:

<select name="mds-trust-date" id="mds-trust-date">
<option value="">Select by period</option>
    <?php 
        $s1 = mysql_query("SELECT DISTINCT issue_date FROM issue_details
                           WHERE account_type='MDS-TRUST' 
                           AND issue_type = 'ci' AND
                           year(issue_date) = year('$db_currentDate') 
                           ORDER BY issue_date DESC");

        while($row = mysql_fetch_array($s1)) {
            $db_issueDate = $row['issue_date'];
            echo '<option value=' . $db_issueDate . '>' . $db_issueDate . '</option>';
        }
    ?>
</select>
在我的php中,我做了类似的事情

<?php
    // query to database
    ...

    $array = array();

    while($row = mysql_fetch_array($s1)) {
        $array[] = $row['issue_date'];
    }

   // response
   echo json_encode($array, JSON_FORCE_OBJECT);
?>


但这并没有对jquery做出回应。请帮助我更正代码,以及如何设置以使用jquery响应的数据重新填充第二个选择框。我是jquery的新手。这里真的需要帮助。谢谢。

您能将javascript代码打包成一个函数吗?并从浏览器控制台从页面调用该函数?当您发布
数据时:
应该是数组而不是字符串。您是否有任何解决方案或更好的方法将数据传递回我的jquery,然后用该数据填充我的第二个选择框?如果有,请告诉我怎么做。谢谢。你在那里得到了什么提示:
alert(response.a)?没有。只是确认一下。如何将这些数据填充到第二个选择框中?请更正我的密码。谢谢
<?php
    // query to database
    ...

    $array = array();

    while($row = mysql_fetch_array($s1)) {
        $array[] = $row['issue_date'];
    }

   // response
   echo json_encode($array, JSON_FORCE_OBJECT);
?>