Javascript 通过AJAX将从AJAX获取的值发送到另一个PHP文件

Javascript 通过AJAX将从AJAX获取的值发送到另一个PHP文件,javascript,php,html,mysql,ajax,Javascript,Php,Html,Mysql,Ajax,我有一个MySQL表,其中包含的字段有国家代码,州,邮政编码,城市。我想创建一个表单,当用户输入国家代码AU时,state字段应该填充与国家代码对应的状态。当一个州被选中时,它应该只显示处于选中状态下的邮政编码。选择邮政编码后,该值的城市应显示在城市字段中 数据库中的某些行包括: | country | state | postcode | suburb | +---------+-------+----------+-----------+ | AU | VIC | 300

我有一个MySQL表,其中包含的字段有
国家代码
邮政编码
城市
。我想创建一个表单,当用户输入国家代码
AU
时,state字段应该填充与国家代码对应的状态。当一个州被选中时,它应该只显示处于选中状态下的邮政编码。选择邮政编码后,该值的城市应显示在城市字段中

数据库中的某些行包括:

| country | state | postcode | suburb    |
+---------+-------+----------+-----------+
| AU      | VIC   | 3000     | Melbourne |
| AU      | NSW   | 3006     | Sydney    |
现在我有了这个AJAX代码,它将数据发送到另一个PHP文件:

function searchq5(){
    var searchTxt = $("input[name='ccd']").val();
    $.post("search-region.php", {searchVal: searchTxt}, function(state){
        $("#state").html(state);
        searchq6();
    });
}

function searchq6(){
    var searchsub = $("input[name='region']").val();
    $.post("search-suburb.php", {searchVal: searchsub}, function(sbb){
        $("#sbb").html(sbb);
        searchq7();
    });
}
search region.php

if (isset($_POST['searchVal'])){
    $searchq = $_POST['searchVal'];
    $query = mysqli_query($link, "SELECT DISTINCT state FROM `wp_locations` WHERE `country` LIKE '%".$searchq."%' ")or die("Could not search!");

    $count = mysqli_num_rows($query);
    if($count == 0){
        $output = '<option>No results!</option>';
    }else{
        while($row = mysqli_fetch_array($query)){
            $state = $row['state'];
            ?>
            <option value="<?php echo $state; ?>"><?php echo $state; ?></option>
            <?php
        } // while
    } // else
}
if (isset($_POST['searchsub'])){
    $searchq = $_POST['searchsub'];
    $query = mysqli_query($link, "SELECT DISTINCT title FROM `wp_locations` WHERE `state`='$searchq' ")or die("Could not search!");

    $count = mysqli_num_rows($query);
    if($count == 0){
        $output = '<option>No results!</option>';
    }else{
        while($row = mysqli_fetch_array($query)){
            $suburb = $row['title'];
            ?>
            <option value="<?php echo $suburb; ?>"><?php echo $suburb; ?></option>
            <?php
        } // while
    } // else
} // main if
我的想法是,当选择一个状态时,输入框的值被发送到
select.php
作为搜索值。没有任何东西可以作为郊区的选择。我没有从另一个PHP文件获得结果。有人能告诉我解决方法吗?

您是否尝试过使用“async:false”选项?由于ajax请求是异步的,所以在请求完成之前将调用第二个方法

$.ajaxSetup({async:false})

执行您的请求,然后执行以下操作:

$.ajaxSetup({ async: true });

“不起作用”没什么帮助。请告诉我们是否有PHP错误或控制台错误showing@mplungjan,编辑了问题。它只是搜索所有的郊区,而不是所选州的郊区。这看起来很奇怪:
WHERE`state`='$searchq'
-我希望
WHERE state=“'.$searchq.”“
更改为您所说的,仍然没有任何内容@mplungjan实际上问题是没有任何内容显示为选项。我没有从其他php中得到结果。这些函数是在回调中调用的