Как получить данные на основе идентификатора 1-й таблицы, содержащейся во 2-й таблице, используя ajax codeigniter в раскрывающихся списках - PullRequest
0 голосов
/ 05 октября 2019

У меня есть три таблицы, такие как tbl_customers, tbl_items, tbl_customersOrders. Я вставил tbl_customers ID и tbl_items ID в tbl_customersOrders как внешний ключ. Теперь подумайте, основываясь на первых раскрывающихся списках (здесь tbl_customersOrders ID). Я могу получить еще два поля в других раскрывающихся списках, но .... Мне нужно имя клиента, которое соответствует id ... также названия элементов, которые id соответствуют * Как:

The short description of three Table

что я пробовал:

Код контроллера:

$data['gets_order'] = $this->box_property_model->getCustDataOrder();

Код модели:

 public function getCustDataOrder()
 {
     $this->db->select('*');
     $this->db->order_by('customer_orders_id', 'DESC');
     $query = $this->db->get('tbl_customer_orders');
     return $query->result(); 
 }

Просмотр кода:

 <select name="nestedOrder" class="form-control" >
     <option value="">--- Select Order ---</option>
 <?php if(!empty($gets_order)) {
       foreach($gets_order as $nst){ 
 ?>
     <option value="<?php echo $nst->customer_orders_id; ?>"><?php echo $nst->new_id_generated; ?></option>';
 <?php }  } ?>
 </select>

 <label for="custNested">Customer Name-</label>
 <select name="custNested" id="custNested" class="form-control" >
     <option value="">Select ITEMS ID</option>
 </select>

 <label for="ItemsName">Items Name</label>
 <select name="items_ids" id="getsitemsName" class="form-control" >
     <option value="">Select ITEMS</option>
 </select>

 <label for="testing">Final ITEM Name</label>
 <select name="org_itemsNameValue" id="org_itemsNameValue" class="form-control" >
     <option value="">Select ITEMS Name</option>
 </select>

JS CODE:

 <script type="text/javascript">
 $(document).ready(function() {

     $('select[name="nestedOrder"]').on('change', function() {

            var customID = $(this).val();
            alert(customID);

            $.ajax({
            url: '<?php echo base_url();?>/Box_property/DropdownsAjaxNested/'+customID,
            type: "GET",
            dataType: "json",
            success:function(data) {

                $('select[name="custNested"]').empty();
                $('select[name="custNested"]').append('<option value="0">--Select CUSTTT--</option>');
                $.each(data, function(key, value) {

                    $('select[name="custNested"]').append('<option value="'+value.customer_id + '">'+ value.customer_name +'</option>');

                });
            }
            });

            $.ajax({
            url: '<?php echo base_url();?>/Box_property/DropdownsAjaxNestedItems/'+customID,

            type: "GET",
            dataType: "json",
            success:function(data) {

                $('select[name="items_ids"]').empty();
                $('select[name="items_ids"]').append('<option value="0">--Select --</option>');
                $.each(data, function(key, value) {

                    $('select[name="items_ids"]').append('<option value="'+value.items_id +'">'+ value.items_id +'</option>');

                });
            }
            });
     });

     $('select[name="items_ids"]').on('change', function() {

            var items_ids = $(this).val();
            alert(items_ids);      

            $.ajax({
            url: '<?php echo base_url();?>/Box_property/itemsOrdersIDfetch/'+items_ids,

            type: "GET",
            dataType: "json",
            success:function(data) {

                $('select[name="org_itemsNameValue"]').empty();
                $('select[name="org_itemsNameValue"]').append('<option value="0">--Select ITEMS Name--</option>');
                $.each(data, function(key, value) {
                    $('select[name="org_itemsNameValue"]').append('<option value="'+value.items_id + '">'+ value.items_name +'</option>');
                });

            }
            });
     });
 });
 </script>

В контроллере:

 public function DropdownsAjaxNested($id) {
       $result = $this->db->where("customer_id",$id)->get("tbl_customers")->result();
       echo json_encode($result);
 }

 public function DropdownsAjaxNestedItems($id) {
       $result = $this->db->where("customer_orders_id",$id)->get("tbl_items_order")->result();
       echo json_encode($result);
 }

 public function itemsOrdersIDfetch($id){
       $result = $this->db->where("items_id",$id)->get("tbl_items_master")->result();
       echo json_encode($result);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...