php - 使用 PHP mysql AJAX 创建依赖下拉列表不起作用

标签 php mysql ajax dropdown

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

  • 表国家:
    • 国家ID
    • 国家/地区名称
  • 表状态:
    • state_id
    • 州名
    • 国家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;

?>

最佳答案

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

while ($row = mysqli_fetch_array($result)

while ($row = mysqli_fetch_array($result))

关于php - 使用 PHP mysql AJAX 创建依赖下拉列表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42850967/

相关文章:

java - Opensearchserver 数据库抓取

ajax - 代码点火器 :Ajax infinite scroll with filter

PHP array_search 与关联数组

php - 当用户单击 "vote"w/php & mysql 时增加记录的分数

php - 使用 Laravel Eloquent 关系从不同表快速检索数据

jquery - Perl Catalyst - 从 AJAX POST 请求获取 JSON 数据

javascript - JS/Ajax : Submit form without page refresh or button click

php - MySQL的性能

mysql - 如何在 Symfony2 中更新 mysql 数据库模式

java - 从 java swing 导出和导入数据库 mysql