【问题标题】:create dependent dropdownlist i snot working using PHP mysql AJAX使用 PHP mysql AJAX 创建依赖下拉列表不起作用
【发布时间】:2017-03-17 06:48:35
【问题描述】:

我有一个 PHP 代码,它从 MYSQL 数据库中检索数据,并将这些检索到的数据包含到一个下拉列表中,其中存在 2 个下拉列表,用户从第一个下拉列表中选择,然后根据他的选择,第二个将显示相关数据。

  • tbl_国家:
    • country_id
    • 国家/地区名称
  • tbl_state:
    • state_id
    • 州名
    • country_id

谁能告诉我代码中的错误在哪里?

代码 1:

<?php

function load_country(){
  $connect = mysqli_connect("localhost","****","***","test");
  $output = '';
  $sql = "select * from tbl_country";
  $result = mysqli_query($connect,$sql);
 // var_dump($result);
   while ($row = mysqli_fetch_array($result)) {
     $output.='<option value="'.$row["country_id"].'">'.$row["country_name"].'</option>';   
   }
   return $output;

}
?>

<html>
<head>
    <title>dropdown test</title>
    <script  src="jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
       $('#country').change(function(){
         var country_id = $(this).val();
         $.ajax({
            url:"dropdown_fetch.php",
            method:"POST",
            data:{countryId:country_id},
            datatype:"text",
            success:function(data){
                $('#state').html(data);
            }

         });
       });

    });

</script>
</head>
<body>
     <p>select owner 
     <select name="country" id="country">
     <option value="">Select country</option>
     <?php echo load_country(); ?>
     </select></p>
     <p>select state 
     <select name="state" id="state">
     <option value="">Select state</option>
     </select></p>

</body>
</html>

代码2:

<?php
$connect= mysqli_connect("localhost","****","****","test");
$output = '';
$sql = "select * from state where country_id = '".$_POST["countryId"]."' ORDER BY country_name";
$result = mysqli_query($connect,$sql);
//var_dump($_POST["ownerID"]);
$output='<option value="">Select state</option>';
while ($row = mysqli_fetch_array($result) {
    $output.='<option value="'.$row["state_id"].'">'.$row["state_name"].'</option>';
}
echo $output;

?>

【问题讨论】:

  • 您遇到了什么错误?可以发一下吗?
  • @kampangala 没有错误,但第二个下拉菜单什么也不做,仍然显示选择状态
  • 尝试检查您发送的 XHR 对象和响应(请求和响应标头),例如通过开发者控制台。这是开始调试的好方法。
  • @OlowookereEmmanuel 在控制台中显示此错误:ReferenceError: $ is not defined[Learn More] dropdown.php:7:2 127.0.0.1/dropdown.php:7:2跨度>
  • 那么你的ajax脚本没有加载。控制台的网络选项卡中有任何错误 404?

标签: php mysql ajax dropdown


【解决方案1】:

这是您的 while 循环中的语法错误。 修复代码2中的行:

while ($row = mysqli_fetch_array($result)

while ($row = mysqli_fetch_array($result))

【讨论】:

    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 2022-11-22
    • 2015-05-18
    • 1970-01-01
    • 2019-06-09
    • 2013-04-16
    • 2021-06-06
    • 1970-01-01
    相关资源
    最近更新 更多