Я изо всех сил пытался заставить это работать, но безуспешно.Исследовал много учебников и видео, но все еще не работает.
У меня есть таблица регионов в моей БД с region_id(PK)
и region_name
в качестве столбцов.Я также центрирую таблицу с center_id(PK)
, center_name
и region_id(FK)
region_id
- это внешний ключ в центральной таблице
У меня есть файл register.php, который извлекает данные из БД иAjax.php
Работает только выпадающий список регионов.Центры в выбранном регионе не будут отображаться в раскрывающемся списке «Выбор центра».
Register.php
<?php
session_start();
require_once $_SERVER['DOCUMENT_ROOT'] . '/soap/includes/server.php';
?>
<html>
<body>
<div class="p-t-31 p-b-9">
<span class="txt1">
Region
</span>
</div>
<div class="wrap-input100 validate-input" data-validate
= "Region is required">
<span class="focus-input100"></span>
<select class='input100' name='region'>
<option value disabled selected>Select
Region</option>
<?php
$sql = mysqli_query($con,"SELECT * FROM
region");
while($row=mysqli_fetch_array($sql))
{
echo '<option
value="'.$row['region_id'].'">'.$row['region_name'].'</option>';
}
?>
</select>
</div>
<br>
<span class="error"><?php echo $regionError;?></span>
<div class="p-t-31 p-b-9">
<span class="txt1">
Center
</span>
</div>
<div class="wrap-input100 validate-input" data-validate
= "Center is required">
<span class="focus-input100"></span>
<select class='input100' name='center'>
<option value="">Select Center</option>
</select>
<script
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function()
{
$(".region").change(function()
{
var region_id=$(this).val();
var post_id = 'id='+ region_id;
$.ajax
({
type: "POST",
url: "ajax.php",
data: post_id,
cache: false,
success: function(centers)
{
$(".center").html(centers);
}
});
});
});
</script>
</div>
<br>
<span class="error"><?php echo $centerError;?></span>
Ajax.php
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/soap/includes/server.php';
if($_POST['id']){
$id=$_POST['id'];
if($id==0){
echo "<option>Select Center</option>";
}else{
$sql = mysqli_query($con,"SELECT * FROM center WHERE
region_id='$id'");
while($row = mysqli_fetch_array($sql)){
echo '<option
value="'.$row['center_id'].'">'.$row['center_name'].'</option>';
}
}
}
?>
</body>
</html>