2 つのドロップダウン リストがあります。最初のものは国の地域を示し、他のものは選択された州のすべての都市を示しています。問題は、フォームを送信した後、MySQL データベースが最初のリストから選択されたリージョンの ID を取得し、2 番目のリストには何も表示されないことです。データベースが正しい情報を受け取るようにしたい。地方の名前と都市の名前。
これどうやってするの?
私のJavaScriptは次のようになります:
$(document).ready(function() {
$(".region").change(function() {`enter code here`
var id = $(this).val();
var dataString = 'id=' + id;
$.ajax({
type: "POST",
url: "ajax_city.php",
data: dataString,
cache: false,
success: function(html) {
$(".city").html(html);
}
});
});
});
私のsection.php
スクリプトは次のとおりです。
<?php
<label>Country :</label> <select name="country" class="country">
<option selected="selected">--Select Region--</option>
<?php
$sql = mysql_query("SELECT id,region FROM regions ORDER BY region");
while ($row = mysql_fetch_array($sql)) {
$id = $row['id'];
$region = $row['region'];
echo '<option value="' . $id . '">' . $region . '</option>';
}
?>
</select> <br/><br/>
<label>City :</label> <select name="city" class="city">
<option selected="selected">--Select City--</option>
</select>
?>
ファイルは次のajax_city.php
ようになります。
<?php
if($_POST['id']) {
$id = $_POST['id'];
$sql=mysql_query("SELECT DISTINCT city FROM CITY where id_city=$id order by city");
while($row = mysql_fetch_array($sql)) {
$id=$row['id'];
$data=$row['city'];
echo "<option value=$id>$data</option>";
}
}
?>
コードは正常に動作します。しかし、データベースをどうするかわかりません。JavaScriptで何かを変更する必要があると思いますか?
何か助けてください。