我有一个 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/