Rabu, 14 Februari 2018

Tutorial membuat dropdown PHP Codeigniter Ajax Jquey Dinamis Dari Database

Tutorial membuat dropdown PHP Codeigniter Ajax Jquey Dinamis Dari Database

Berikut saya akan membagikan tutorial di form input,
untuk form edit akan sy bagikan setelah ini
Pertama buat dulu DB nya bisa satu table bisa 2 tabel, yg 2 tabel sudah ada di blog sebelah cari aja ajax select2
Controller
public function __construct() //untuk menload semua model di semua fungsi kontroller agar tidak ada yg lupa load, pengalaman karena ajax tidak bisa membaca error dari PHP atau CI
    {
        parent::__construct();
        $this->load->model('model_pelayanan');
        $this->load->model('models_select');
        $this->load->helper('form_helper');
    }
    function notulen(){
     
            $data['unor']=$this->models_select->unor();
            $this->load->view('form_notulen', $data);
   }

    function unker($kdunit)
        {
            $unker="<option value='0'>--pilih--</option>"; //ketika belum dipilih
            $uker = $this->models_select->unker(substr($kdunit, 0,2)); //fungsi substring untuk mengambil karakter yg pada field db dimulai dari 0(dari awal kata) diambil2 huruf, ini fungsi yg di ambil dari dropdown awal
            foreach ($uker as $data => $v)
            {
                $unker .= "<option value='".$v['kdunit']."'>".$v['keterangan']."</option>";       
            }
           echo $unker;
        }
Model
                            function unor()  //utk menampilkan dropwon yg pertama
                            {
                                         $this->db->where('eselon',1);
                                         $unor= $this->db->get('unitkerja');
                                         return $unor->result_array();
                            }

                            function unker($kdunit) //utk menampilkan dropdown ke 2, $kdunit diambil dari function atas dalam view nya
                            {            
                                         $sql = " SELECT * FROM unitkerja WHERE SUBSTR(kdunit,1,2) = '".$kdunit."' AND eselon='3'";           
                                         $uker= $this->db->query($sql);  //membuat query data dari dropdown ke 2
                                         if($uker) {
              return $uker->result_array();
            }
            else
              return $this->db->_error_message();
                            }

View

<tr>
            <td> Unit Organisasi</td>
            <td>
            <select name="unor" id="unor">
            <?php foreach($unor as $k => $v){
                        echo "<option value='".$v['kdunit']."'";
                       
                        echo ">".$v['keterangan']."</option>";
                        echo "\n";
            }
            ?>
           
            </select>
            </td>          
        </tr>

        <tr>
            <td> Uker</td>
            <td>
            <select name="uker" id="unitkerja" >
            </select>
            </td>          
        </tr>

    <script type="text/javascript">
       $(function(){
        $("#unor").change(function()  /.di isi ID dari dropdown form
        {
            var value = $(this).val();
            $.ajax
                ({
                    url: "<?php echo site_url('pelayanan/unker/'); ?>" + value,  //value disni menerima inputan dari dropdown pertama
                    dataType: 'text',
                    method: 'POST',
                   
                    success: function(respond)
                    {
                        $("#unitkerja").html(respond);
                    },

                    error: function(jqXHR, textStatus, errorThrown)
                    {
                        alert(jqXHR+' | ' +textStatus+' | '+ errorThrown);
                    }
                });
        });
    });
    </script>

Untuk mendebug bisa kalian liat di bawah ini

Contoh Table
Query  1 Dropdown 1

Query 2 DropDown 2
Konsep


Thanks To Alfonsus Hariajie yg sudah membantu
©AMHAN

Tidak ada komentar:

Posting Komentar