Как обновить зависимый выпадающий список при получении значений из базы данных - PullRequest
0 голосов
/ 02 марта 2020

Я не могу получить значения в раскрывающийся список Зависимые из базы данных ... У меня есть 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">&times;</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

Пожалуйста, помогите, поскольку у меня мало знаний. ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...