Cara menjalankan query di CodeIgniter

Cara menjalankan query di CodeIgniter merupakan tulisan yang akan menjelaskan bagaimana caranya menjalankan query dan menampilkannya di CodeIgniter, tulisan yang cukup singkat menurut saya tetapi saya mengharapkan membantu sahabat menyelesaikan masalah sahabat.

Baik, selanjutnya kita perlu membuat pengaturan berhubungan dengan database yang kita buat, dalam hal ini saya membuat database dengan nama “tessql” di phpmyadmin dengan tabelnya sebagai berikut:

Menjalankan query di Codeigniter
Kredit: EduSugar

Tabel contoh untuk menjalankan query di CodeIgniter

Nah silahkan jalankan query di atas ke dalam database yang sudah dibuat untuk membuat tabel dan mengisi datanya.

Mengatur koneksi ke database

Tabel di atas saya ambil dari tulisan Active Record CodeIgniter, selanjutnya perlu mengatur koneksi ke database dengan cara mengubah variabel yang ada di file application/config/database.php sesuai dengan yang ada pada sistem teman-teman, sebagai contoh berikut pengaturan saya:
Pengaturan Database Codeigniter
Agar tidak membingungkan, saya menggunakan framework CodeIgniter fresh install atau barusan unduh. Oke sekarang kita siap-siap untuk menjalankan query di CodeIgniter, berikut caranya.

Buka Controller ./application/controllers/welcome.php dan tuliskan seperti contoh berikut ini dan silahkan coba di browser teman-teman:

Jika kita menjalankan query yang tidak ada hasilnya (num_rows = 0) kemungkinan akan terjadi error oleh karena itu kita harus selalu menggunakan num_rows():

Menjalankan dua query dan tampilkan di view

Oke, sekarang bila sahabat ingin menampilkannya ke view, cukup tulis seperti ini di controller, sebagai contoh menjalankan dua query sekaligus:

Selanjutnya buka view Selanjutnya buka view ./application/views/welcome_message.php tambahkan kode PHP berikut, setelah itu silahkan coba di browser sahabat:

Saran saya daripada menggunakan Query MySQL, mendingan menggunakan Active Record Class di dalam class model yang sudah saya buat.

Catatan Akhir:

Jika masih ada yang belum dimengerti mengenai tulisan di atas, silahkan tanya di bagian komentar di bawah ya. Supaya mendapat notifikasi jika jawabannya dibalas silahkan centang pilihan "Beri tahu saya komentar baru melalui email" sebelum mengirim komentar.

Catatan Belajar juga hadir di Facebook, dukung tulisan kami dengan klik tombol suka ini ya:

Sekian, semoga tulisan dengan judul Cara menjalankan query di CodeIgniter ini bermanfaat bagi kita semua.

Salam penulis, Ivo Idham Perdameian

 

15 thoughts on “Cara menjalankan query di CodeIgniter

Add yours

    1. Gunakan Active Record Class aja gan, lebih enak daripada query mySQL.
      Contoh menggunakan Active Record Class:

  1. pak tanya donk , ini model ku sudah benar, tujuan ku adalah pertama select data yang tertinggisetelah dapat ku simpan id nya di variabel $a terus aku select semua data tanpa variabel a, hasil nya benar tapi ketika data kosong error nya seperti ini

    Severity: Notice
    Message: Undefined index: id
    Filename: models/ekonomi_model.php
    Line Number: 15

    ini model ku pak ?

    $query = $this->db->query(“SELECT * FROM tabel_indonesias a, tabel_indonesia b where a.id=b.id and a.kategori=’GEOGRAFI’ and b.lang=’$lang’ order by tgl desc limit 1”)->row_array();

    $a=$query[‘id’];

    return $query = $this->db->query(“SELECT * FROM tabel_indonesias a, tabel_indonesia b where a.id=b.id and a.id !=’$a’ and a.kategori=’GEOGRAFI’ and b.lang=’$lang’ order by tgl desc limit 2”);

    Thanks pak , respon ya pak ? aku selip dimana

  2. mas mau nanya, script di ci gimana ya kalo saya mau 2 tabel.misal tbl_a dan tbl_b. hasil query tbl_a di query lagi di tbl_b.
    output :
    ELECTRONIK
    – tv
    – radio

    ALAT DAPUR
    -blabla
    -blaa bal

    terima kasih.

    1. Mas harus pandai main sintax sql, sebagai gambaran saya gunakan kata kunci in:
      SELECT *
      FROM tbl_b
      WHERE tbl_b.kolom_a IN (SELECT tbl_a.id_kategori where bla..bla...);

  3. mas saya mau tanya dong, kalau saya mau menampilkan data dari 3 tabel : misal tabel karyawan,pendidikan dan jabatan
    di tabel karyawan ada field id_jabatan dan id_pendidikan yang diambil dari tabel pendidikan dan jabatan.

    kalau saya mau menampilkan data-data tersebut sintax di CI bagaimana ya?
    klo di sql biasa seperti ini :
    SELECT nama, alamat,pendidikan_tb.tingkat_pendidikan,jabatan_tb.nama jabatan
    FORM karyawan_tb,pendidikan_tb, jabatan_tb
    where jabatan_tb.id_jabatan=karywan.id_jabatan
    AND pendidikan_tb.id_pendidikan=karyawan.id_pendidikan

    1. Iya sama kok, tinggal masukin aja querynya itu ke CI:

      Lebih baiknya pakai SQL JOIN aja.

      1. kalau data yangdicari berdasarkan no ktp seperti ini bagaimana ya mas?

        SELECT no_ktp,nama_lengkap,alamat,kota,pendidikan_tb.tingkat_pendidikan,jabatan_tb.nama_jabatan
        FROM kandidatkaryawan_tb
        inner join jabatan_tb on kandidatkaryawan_tb.id_jabatan=jabatan_tb.id_jabatan
        inner join pendidikan_tbon kandidatkaryawan_tb.id_pendidikan=pendidikan_tb.id_pendidikan
        where no_ktp=’3516084605910001′

        maklum msh newbie pke CI

        1. Jawaban saya yg sblmnya sudah saya edit ya, lihat perbedaan select fieldnya.

          Sama saja: no_ktp,nama_lengkap,alamat,kota => tambahkan nama tabel menjadi no_ktp.kandidatkaryawan_tb,nama_lengkap.kandidatkaryawan_tb dst…..

          where no_ktp.kandidatkaryawan_tb=’3516084605910001′

          Semuanya ditambahkan nama tabelnya karena lebih dari satu tabel.

          1. saya nyoba sintax ini kok masih error ya??

            function detaildata($id) {
            $this->db->select(‘no_ktp,nama_lengkap,nama_panggilan’);
            $this->db->from(‘kandidatkaryawan_tb’);
            $this->db->join(‘kandidatkaryawan_tb’,’kandidatkaryawan.id_jabatan=jabatan_tb.id_jabatan’);
            $this->db->join(‘kandidatkaryawan_tb’,’kandidatkaryawan.id_pendidikan=pendidikan_tb.id_pendidikan’);
            $this->db->where(‘no_ktp’, $id);
            $query = $this->db->get();
            return $query->result();

            }

            mohon bantuannya
            *kode saya taruh di model

Tinggalkan Balasan

© 2017 oleh Catatan Belajar | Theme: Baskerville 2 by Anders Noren.

Up ↑