Skip to content Skip to sidebar Skip to footer

Show Data In Database After Select An Input Select

This is my table tour : +---------+---------+------------------+------------+---------+ | id_tour | region | destination | date_tour | price | +-------

Solution 1:

VIEW

<!DOCTYPE html><html><head><title></title><!-- Latest compiled and minified CSS --><linkrel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"><!-- jQuery library --><scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script><!-- Popper JS --><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script><!-- Latest compiled JavaScript --><scriptsrc="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script></head><body><divclass="form-row"><divclass="col-md-3"><labelfor="region">Region</label><selectname="region"id="region"class="select2-input form-control"style="width:100%;"><?phpforeach ($regionas$key => $r)
            {
                ?><optionid="region_value"value="<?=$r['region'] ?>"><?=$r['region'] ?></option><?php
            }
            ?><?= form_error('region', '<small class="text-danger pl-3">', '</small>'); ?></select></div><divclass="col-md-3"><labelfor="destination">Destination</label><selectname="destination"id="destination"class="select2-input form-control"style="width:100%;"><optionvalue="">Select Your Destination</option></select><?= form_error('destination', '<small class="text-danger pl-3">', '</small>'); ?></div><divclass="col-md-3"><labelfor="date_tour">Tanggal Keberangkatan</label><inputtype="text"class="form-control datepicker"name="date_tour"id="date"><?= form_error('date_tour', '<small class="text-danger pl-3">', '</small>'); ?></div><divclass="col-md-3"><labelfor="price">Price Invoice</label><inputtype="text"class="form-control"name="price_invoice"id="price" ><?= form_error('price_invoice', '<small class="text-danger pl-3">', '</small>'); ?></div></div>

ALSO IN VIEW

<script>
     $(document).ready(function() {

      $('#region').change(function(){

        var region_value = $(this).val();

        if(region_value)
        {
            $.ajax({
                url:"http://localhost/narson/stackoverflow/destination/",
                type:"post",
                data:{'region':region_value},
                datatype: "json",
                success:function(data,status)
                {
                    $("#destination").empty();
                    $.each(JSON.parse(data), function(key,value){
                        console.log(value);
                        $("#destination").append('<option value='+value.destination+'>Select Your Destination</option>');
                        for(var i = 0; i < data.length; i++) {
                            $value = value[i].destination.replace(/\s+/g, "_");
                            $("#destination").append('<option value='+$value+'>'+value[i].destination+'</option>');
                        };
                    });
                }
            });
        }
        else
        {
            $('#destination').empty();
        }
    });


    $('#destination').change(function(){

        var price_values = $(this).val();
        var price_valuess = price_values.replace("_", " ");
        var price_valuesss = price_valuess.replace("_", " ");
        var price_value = price_valuesss.replace("_", " ");

        if(price_value)
        {
            $.ajax({
                url:"http://localhost/narson/stackoverflow/price/",
                type:"post",
                data:{'price':price_value},
                datatype: "json",
                success:function(data,status)
                {
                    $("#price").empty();
                    $.each(JSON.parse(data), function(key,value){
                        console.log(value);                         
                        for(var i = 0; i < data.length; i++) {
                            $("#price").val(value[i].price);
                            $("#date").val(value[i].date_tour);
                        };
                    });
                }
            });
        }
        else
        {
            $('#price').empty();
        }
    });
});

CONTROLLER

<?phpclassStackoverflowextendsCI_Controller{
       publicfunction__construct()
    {
       parent::__construct();
       $this->load->model('User_model');
       $this->load->model('Stack_model');
       $this->load->library('form_validation');
    }

     publicfunctionindex()
   {
      $data['region'] = $this->Stack_model->get_region();
      $this->load->view('stackoverflow',$data);
   }

    publicfunctiondestination()
  {
      $region = $this->input->post('region');
      $data['destination'] = $this->Stack_model->get_destination($region);
      echo json_encode($data);
  }

     publicfunctionprice()
  {
     $price = $this->input->post('price');
     $data['price'] = $this->Stack_model->get_price($price);
     echo json_encode($data);
  }
}
  ?>

MODEL

classStack_modelextendsCI_Model{

   publicfunctionget_region()
    {
       $this->db->select('*');
       $this->db->from('tour');
       $query = $this->db->get();
       return$query->result_array();
    }

  publicfunctionget_destination($region)
    {
       $this->db->select('*');
       $this->db->from('tour');
       $this->db->where('region',$region);
       $query = $this->db->get();
       return$query->result();
    }

     publicfunctionget_price($price)
    {
      $this->db->select('*');
      $this->db->from('tour');
      $this->db->where('destination',$price);
      $query = $this->db->get();
      return$query->result();
    }
}

Post a Comment for "Show Data In Database After Select An Input Select"