Я не могу получить значения в раскрывающийся список Зависимые из базы данных ... У меня есть 3 таблицы для «подразделения», «под-депо», «депо» соответственно. Основная таблица «шина». Я не могу преобразовать значения в их соответствующий идентификатор при получении. Я использую Php PDO. Может ли кто-нибудь, пожалуйста, помогите мне с jquery и php, чтобы получить значения в раскрывающемся списке, а затем снова обновить его. Мой код выглядит следующим образом:
view_bus_details. php
<?php
include('db.php');
$sql="select div_id,div_name from division";
$stmt=$connection->prepare($sql);
$stmt->execute();
$arrCountry=$stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<div id="userModal" class="modal fade">
<div class="modal-dialog">
<form method="post" id="user_form" enctype="multipart/form-data">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" align="left">Add Bus Details</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<label>Enter Bus Name *</label>
<input type="text" name="b_num" id="b_num" class="form-control" placeholder="Eg. MH30 AB 1234" required>
<br />
<label>Select Division Name *</label>
<select class="form-control select2bs4" id="country" name="div1">
<option value="-1">Select Division</option>
<?php
foreach($arrCountry as $country){
?>
<option value="<?php echo $country['div_id']?>">
<?php echo $country['div_name'] ?>
</option>
<?php
}
?>
</select>
<br />
<label>Select Sub-Depot Name *</label>
<select class="form-control select2bs4" id="state" name="div2">
<option value="">Select Sub-Depot</option>
</select>
<br />
<label>Select Depot Name *</label>
<select class="form-control select2bs4" id="city" name="div3">
<option value="">Select Depot</option>
</select>
<br />
<label>Select Bus Type *</label>
<select class="form-control select2bs4" id="bus_type" name="bus_type" required="required">
<option selected="selected" disabled="disabled" value="">Select Bus Type</option>
<option value="Ordinary">Ordinary</option>
<option value="Yashwanti">Yashwanti</option>
<option value="Hirakani">Hirakani</option>
<option value="Asiad">Asiad</option>
<option value="Pariwartan">Pariwartan</option>
<option value="Sheetal">Sheetal</option>
<option value="Shivneri(AC)">Shivneri(AC)</option>
<option value="Shivneri(AC) Sleeper">Shivneri(AC) Sleeper</option>
<option value="Ashwamedh">Ashwamedh</option>
<option value="Shivshahi(AC)">Shivshahi(AC)</option>
<option value="Shivshahi(AC) Sleeper">Shivshahi(AC) Sleeper</option>
<option value="City Bus">City Bus</option>
<option value="Parcel">Parcel</option>
<option value="Tourism">Tourism</option>
<option value="Yatra">Yatra</option>
</select>
<br />
</div>
<div class="modal-footer">
<input type="hidden" name="user_id" id="user_id" />
<input type="hidden" name="operation" id="operation" />
<input type="submit" name="action" id="action" class="btn btn-success" value="Add" />
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
<div id="divLoading"></div>
</form>
</div>
</div>
<script type="text/javascript" language="javascript" >
$(document).ready(function(){
var dataTable = $('#user_data').DataTable({
"processing":true,
"serverSide":true,
"order":[],
"ajax":{
url:"fetch.php",
type:"POST"
},
"columnDefs":[
{
"targets":[5,6],
"orderable":false,
},
],
});
$(document).on('submit', '#user_form', function(event){
event.preventDefault();
var bnum = $('#b_num').val();
var d1 = $('#div1').val();
var d2 = $('#div2').val();
var d3 = $('#div3').val();
var btype = $('#bus_type').val();
if(bnum != '' && d1 != '' && d2 != '' && d3 != '' && btype != '')
{
$.ajax({
url:"insert.php",
method:'POST',
data:new FormData(this),
contentType:false,
processData:false,
success:function(data)
{
alert(data);
$('#user_form')[0].reset();
$('#userModal').modal('hide');
dataTable.ajax.reload();
}
});
}
else
{
alert("All Fields Are Required");
}
});
$(document).on('click', '.update', function(){
var user_id = $(this).attr("id");
$.ajax({
url:"fetch_single.php",
method:"POST",
data:{user_id:user_id},
dataType:"json",
success:function(data)
{
$('#userModal').modal('show');
$('#b_num').val(data.b_num);
$('#div1').val(data.div_name);
$('#div2').val(data.sub_depot);
$('#div3').val(data.depot_name);
$('#bus_type').val(data.b_type);
// $('.modal-title').text("Edit Route");
$('#user_id').val(user_id);
$('#action').val("Update");
$('#operation').val("Edit");
}
})
});
$(document).on('click', '.delete', function(){
var user_id = $(this).attr("id");
if(confirm("Are you sure you want to delete this Bus Record?"))
{
$.ajax({
url:"delete.php",
method:"POST",
data:{user_id:user_id},
success:function(data)
{
alert(data);
dataTable.ajax.reload();
}
});
}
else
{
return false;
}
});
});
</script>
<script>
$(document).ready(function(){
jQuery('#country').change(function(){
var id=jQuery(this).val();
if(id=='-1'){
jQuery('#state').html('<option value="-1">Select Sub_depot</option>');
}else{
$("#divLoading").addClass('show');
jQuery('#state').html('<option value="-1">Select Sub_depot</option>');
jQuery('#city').html('<option value="-1">Select Depot</option>');
jQuery.ajax({
type:'post',
url:'get_data.php',
data:'id='+id+'&type=state',
success:function(result){
$("#divLoading").removeClass('show');
jQuery('#state').append(result);
}
});
}
});
jQuery('#state').change(function(){
var id=jQuery(this).val();
if(id=='-1'){
jQuery('#city').html('<option value="-1">Select Depot</option>');
}else{
$("#divLoading").addClass('show');
jQuery('#city').html('<option value="-1">Select Depot</option>');
jQuery.ajax({
type:'post',
url:'get_depot.php',
data:'id='+id+'&type=city',
success:function(result){
$("#divLoading").removeClass('show');
jQuery('#city').append(result);
}
});
}
});
});
</script>
fetch_single. php
<?php
include('db.php');
include('function.php');
if(isset($_POST["user_id"]))
{
$output = array();
$statement = $connection->prepare(
"SELECT * FROM bus
WHERE b_id = '".$_POST["user_id"]."'
LIMIT 1"
);
$statement->execute();
$result = $statement->fetchAll();
foreach($result as $row)
{
$output["b_num"] = $row["b_num"];
$output["div_name"] = $row["div_name"];
$output["sub_depot"] = $row["sub_depot"];
$output["depot_name"] = $row["depot_name"];
$output["b_type"] = $row["b_type"];
}
echo json_encode($output);
}
?>
get_data. php
<?php
include('db.php');
$id=$_POST['id'];
$type=$_POST['type'];
if($type=='city'){
$sql="select depot_id,depot_name from depot where sub_depot_id='$id'";
}else{
$sql="select sub_depot_id,sub_depot_name from sub_depot where div_id='$id'";
}
$stmt=$connection->prepare($sql);
$stmt->execute();
$arr=$stmt->fetchAll(PDO::FETCH_ASSOC);
$html='';
foreach($arr as $list){
$html.='<option value='.$list['sub_depot_id'].'>'.$list['sub_depot_name'].'</option>';
}
echo $html;
?>
get_depot. php
<?php
include('db.php');
$id=$_POST['id'];
$type=$_POST['type'];
if($type=='city'){
$sql="SELECT depot_id,depot_name from depot where sub_depot_id='$id'";
}
else
{
$sql="SELECT sub_depot_id,sub_depot_name from sub_depot where div_id='$id'";
}
$stmt=$connection->prepare($sql);
$stmt->execute();
$arr=$stmt->fetchAll(PDO::FETCH_ASSOC);
$html='';
foreach($arr as $list){
$html.='<option value='.$list['depot_id'].'>'.$list['depot_name'].'</option>';
}
echo $html;
?>
вставка. php
<?php
include('db.php');
include('function.php');
if(isset($_POST["operation"]))
{
if($_POST["operation"] == "Add")
{
// try{
$output1 = array();
$statement1 = $connection->prepare(
"SELECT div_name FROM division
WHERE div_id = '".$_POST["div1"]."' " );
$statement1->execute();
$result1 = $statement1->fetch();
$f1 = $result1['div_name'] ;
// echo $f1;
// }
// catch(Exception $ex){
// echo( $ex => getMessage());
// }
// try{
$output2 = array();
$statement2 = $connection->prepare(
"SELECT sub_depot_name FROM sub_depot
WHERE sub_depot_id = '".$_POST["div2"]."' " );
$statement2->execute();
$result2 = $statement2->fetch();
$f2 = $result2['sub_depot_name'];
// }
// catch(Exception $ex1){
// echo( $ex1 => getMessage());
// } // echo $f2;
// try{
$output3 = array();
$statement3 = $connection->prepare(
"SELECT depot_name FROM depot
WHERE depot_id = '".$_POST["div3"]."' " );
$statement3->execute();
$result3 = $statement3->fetch();
$f3 = $result3['depot_name'];
// echo $f3;
// }
// catch(Exception $ex2){
// echo( $ex2 => getMessage());
// }
$statement = $connection->prepare("
INSERT INTO bus (b_num, div_name, sub_depot, depot_name, b_type)
VALUES (:b_num, :div_name, :sub_depot, :depot_name, :b_type) ");
$result = $statement->execute(
array(
':b_num' => $_POST["b_num"],
':div_name' => $f1,
':sub_depot' => $f2,
':depot_name' => $f3,
':b_type' => $_POST["bus_type"]
)
);
if(!empty($result))
{
echo 'Data Inserted';
}
else{
echo "Opps!!!There was an error while Inserting Data!";
}
}
if($_POST["operation"] == "Edit")
{
// try{
$output4 = array();
$statement4 = $connection->prepare(
"SELECT div_name FROM division
WHERE div_id = '".$_POST["div1"]."' " );
$statement4->execute();
$result4 = $statement4->fetch();
$f4 = $result4['div_name'] ;
// echo $f1;
// }
// catch(Exception $ex3){
// echo( $ex3 => getMessage());
// }
// try{
$output5 = array();
$statement5 = $connection->prepare(
"SELECT sub_depot_name FROM sub_depot
WHERE sub_depot_id = '".$_POST["div2"]."' " );
$statement5->execute();
$result5 = $statement5->fetch();
$f5 = $result5['sub_depot_name'];
// echo $f2;
// }
// catch(Exception $ex4){
// echo( $ex4 => getMessage());
// }
// try{
$output6 = array();
$statement6 = $connection->prepare(
"SELECT depot_name FROM depot
WHERE depot_id = '".$_POST["div3"]."' " );
$statement6->execute();
$result6 = $statement6->fetch();
$f6 = $result6['depot_name'];
// }
// catch(Exception $ex5){
// echo( $ex5 => getMessage());
// }
$statement = $connection->prepare(
" UPDATE bus
SET b_num = :b_num, div_name = :div_name, sub_depot = :sub_depot, depot_name = :depot_name,
b_type = :b_type
WHERE b_id = :b_id " );
$result = $statement->execute(
array(
':b_num' => $_POST["b_num"],
':div_name' => $f4,
':sub_depot' => $f5,
':depot_name' => $f6,
':b_type' => $_POST["bus_type"]
)
);
if(!empty($result))
{
echo 'Data Updated';
}
else{
echo "Opps!!!There was an error while Updating Data!";
}
}
}
?>
Моя база данных .... 1) шина:
b_id
,
b_num
,
div_name
,
sub_depot
,
depot_name
,
b_type
2) деление:
div_id
,
div_name
3) sub_depot:
sub_depot_id
,
sub_depot_name
,
div_id
4) депо:
depot_id
,
depot_name
,
sub_depot_id
Пожалуйста, помогите, поскольку у меня мало знаний. ..