【发布时间】: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?