Membuat Dropdown dari Database di CodeIgniter (CI) | WORTH GAN!!


Pada kesempatan kali ini saya akan berbagi ilmu mengenai pemrograman php khusuzon Codeigniter.Tutorial kali ini memiliki judul "Membuat Dropdown dari Database dengan CodeIgniter”. Jadi kita akan belajar membuat dropdown, namun kali ini list dropdown yang ada itu merupakan data dari Database. Alasan saya membuat post ini dikarenakan sebelumnya saya juga kebingungan cara membuat dropdown dengan list dari dari database di CodeIgniter. Setelah Googling, cari sana cari sini, nyari di stackover and the last akhirnya ketemu juga, hahaa dan akhirnya saya mau share barangkali ada yang bingung juga.


Berbicara  mengenai code igniter memang agak sedikit berbeda, dulu ketika awal-awal migrasi dari PHP Native ke CodeIgniter saya juga merasa kesulitan untuk memahaminya. Sebagai gambaran awal, untuk melakukan parsing data di CodeIgniter kita harus setting database-nya, lalu membuat modelnya, kemudian membuat controllernya, dan terakhir yaitu menampilkan datanya.

Jadi konsepnya yaitu : membuat data  (database) -> mengambil data (model) -> menampung data dan menampilkannya (controller dan view)

OK, saya paham banyak yang tidak suka bertele-tele so secara singkatnya begini.



  1. Anda Harus membuat database, misalnya yaitu database  db_bidang. Kemudian buatlah tabel yang akan kita gunakan untuk ditampilkan pada dropdown. Kita buat tabel dengan nama tb_bidang. Kemudian didalam tabel kita buat 2 kolom (field).

    Pertama yaitu id_bidang, dengan type INT, dengan panjang 10, lalu beri Primary Key dan A_I (Auto Increment) jadi ketika kita menambah data kita tidak perlu mengisi field ini namun akan terisi nomor urutan secara otomatis.

    Kedua yaitu nama_bidang, dengan type VARCHAR , dengan panjang 50

  2. Anda perlu setting databasenya sesuai dengan nama database yang telah dibuat, lalu setting usernamenya dengan “root”. Lalu jangan lupa setting perihal autoload, config, saya kira untuk setting autoload, config, database tidak perlu dijelaskan ya guys? But, jangan lupa untuk Routes kita set default controller yaitu ‘bidang’.

  3. Sebelumnya kita perlu membuat view/ tampilannya terlebih dahulu, dengan nama v_bidang.php
  4. <H2>Form Tambah Pegawai</H2>
    <div class="form-group">
        <label for="name">Nama Pegawai</label>
        <div class="controls">
        <input type="text" name="nama">
    </div>
     <div class="form-group">
        <label for="name">Jabatan Pegawai</label>
        <div class="controls">
        <input type="text" name="jabatan">
    </div>
    </div>
     <div class="form-group">
        <label for="name">Bidang</label>
        <div class="controls">
            <select required name="kode_gejala">
            <option value="" disabled diselected>-- Pilih Bidang --</option>
            <?php                                
            foreach ($dd_bidang as $row) {  
      echo "<option value='".$row->id_bidang."'>".$row->nama_bidang."</option>";
      }
      echo"
    </select>"
    ?>
        </div>
    </div>
    <h4>&copy otnaites.blogspot.co.id</h4>

  5. Kemudian kita membuat Models dengan nama M_bidang.php dan isinya yaitu :
  6. <?php 
    defined('BASEPATH') OR exit('No direct script access allowed');

    /**
    */
    class M_Bidang extends CI_Model
    {
    function __construct()
    {
    parent::__construct();
    }

    function get(){
    $query = $this->db->query('SELECT * FROM tb_bidang');
            return $query->result();
    }
    }
    ?>

  7. Selanjutnya kita buat controllernya dengan nama Bidang.php dan isinya yaitu sebagai berikut :
  8. <?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Bidang extends CI_Controller {
                                    function __construct()
                    {
                                    parent:: __construct();
                                    $this->load->model('m_bidang','', TRUE);
                                    //ini digunakan untuk dapat mengakses model m_bidang
                    }

                    public function index()
                    {
                                    $data['dd_bidang'] = $this->m_bidang->get();
                                    $this->load->view('v_bidang',$data);
                    }
    }
    ?>

  9. Sebelum mengakses controllernya, pastikan routes pada file routes.php sudah disetting default_controller = ‘bidang’
  10. Terakhir Trakhir silahkan akses controllernya untuk melihat hasilnya



Tadaaa.. akhirnya data dari database bisa diparsing ke dropdown bidang. Cukup simple bukan?




      Post a Comment

      4 Comments

      1. gan bagiamana jika tabel pada database yang akan kita tampilkan menggunakan uniq key yang tidak urut atau tidak auto increment misalnya gabungan huruf dan angka sedangkan tag option value="" menggunakan auto increment?

        ReplyDelete
        Replies
        1. itu yang saya bahas diatas itu berdasarkan id gan jadi walaupun kombinasi seperti huruf-angka tetap masih bisa ditampilkan

          Delete
      2. bang saya mau menampilkan stok barang. jadi pas pilih combobox nama barang, kolom stok terisi otomatis. itu bagaimana tutorialnya?

        ReplyDelete