【发布时间】:2026-01-17 16:50:01
【问题描述】:
我有一个国家/地区城市数据库,显示在选择框中,一切正常。当状态选择框选择要在div或其他元素中显示城市的状态选择框时,我想要的是什么。当为城市结果定义选择框时没有问题,但如果我使用 div 会给出错误消息
注意:未定义索引:C:\wamp\www\list\post.php 第 3 行中的国家/地区。
这是我的代码,谢谢。
post.php
include("connect.php");
$country = $_POST['country'];
$query = mysqli_query($connect, "select * from state where country_id='$country'");
while( $list = mysqli_fetch_array( $query ) ) {
echo '<option value=' . $list["id"]. '>' . $list["state_name"] . '</option>';
}
$state = $_POST['state'];
$query = mysqli_query($connect, "select * from city where state_id='$state'");
while( $list = mysqli_fetch_array( $query ) ) {
echo $list["city_name"];
}
jquery 代码
$( "#countries" ).change( function(){
$("#states").empty();
var val = $(this).val();
$.post("post.php", {country:val}, function(a) {
$("#states").append(a);
});
});
$( "#states" ).change( function(){
$("#cities").empty();
var val = $(this).val();
$.post("post.php", {state:val}, function(a) {
$("#cities").append(a);
});
});
index.php
<?php include("connect.php"); ?>
<select id="countries">
<option>select</option>
<?php
$query = mysqli_query($connect, 'select * from country');
while( $list = mysqli_fetch_array( $query ) ) {
echo '<option value=' . $list["id"]. '>' . $list["country_name"] . '</option>';
}
?>
</select>
<select id="states">
<option>select</option>
</select>
<div id="cities"></div>
【问题讨论】:
-
您的代码容易受到SQL injection 攻击。您应该使用mysqli 或PDO 准备好的语句和this post 中描述的绑定参数。
标签: php jquery mysql jquery-selectbox