Menampilkan Data dari Database Menggunakan Codeigniter

Pada tutorial sebelumnya telah saya bahas mengenai cara untuk membuat fungsi insert data ke dalam database.

Ditutorial ini saya akan memberikan contoh untuk menampilkan data yang sebelumnya telah tersimpan di dalam database.

Database yang digunakan di tutorial ini masih sama dengan database yang digunakan di tutorial membuat web Codeigniter, yaitu database dengan nama codeigniter dan table bernama user.

Sebelum melangkah lebih jauh, saya sarankan anda untuk mengisi table user terlebih dahulu. Anda dapat mengisinya secara manual atau menggunakan aplikasi insert data di tutorial insert database Codeigniter.

Menampilkan Data dari Database Menggunakan Codeigniter

Berikut ini adalah source code yang ada di controller, model, dan view. Meskipun nama file di tutorial ini sama seperti tutorial sebelumnya, tetapi isi dari source code sudah berbeda. Jadi jangan asal copas ketika anda ingin menggabungkan tutorial ini dengan tutorial sebelumnya.

Controller

Buatlah sebuah file dengan nama user_controller.php dan isikan code sebagai berikut:

user_controller.php

<?php
class User_controller extends CI_Controller{

	function __Construct()
	{
        parent ::__construct();
	}

    function user()
    {
        $this->load->model('user_model');
        $data['judul'] = 'Menampilkan Data dari Database Menggunakan Codeigniter';
        $data['daftar_user'] = $this->user_model->get_user_all();
        $this->load->view('daftar_user', $data);
    }
}

Model

Buatlah sebuah file dengan nama user_model.php dan isikan code sebagai berikut:

<?php
class User_model extends CI_Model{

    function get_user_all()
    {
        $query=$this->db->query("SELECT * FROM user ORDER BY id_user DESC");
        return $query->result();
    }
}

Views

Buatlah sebuah file dengan nama daftar_user.php dan isikan code sebagai berikut:

<html>
<head>
	<title><?php echo $judul; ?></title>
</head>
<body>
	<h1>Daftar User</h1>
	<table border="1">
		<thead>
		<tr>
			<th>Nama Lengkap</th>
			<th>Username</th>
			<th>Email</th>
			<th>Alamat</th>
		</tr>
	</thead>
	<tbody>
            <?php
                foreach($daftar_user as $user){
	    ?>
                <tr>
			<td><?php echo $user->nama_lengkap; ?></td>
			<td><?php echo $user->username; ?></td>
			<td><?php echo $user->email; ?></td>
			<td><?php echo $user->alamat; ?></td>
		</tr>
           <?php } ?>
	</tbody>
	<tfoot>
		<tr>
			<th>Nama Lengkap</th>
			<th>Username</th>
			<th>Email</th>
			<th>Alamat</th>
		</tr>
	</tfoot>
	</table>
</body>
</html>

Sekarang cobalah untuk menjalankan URL http://localhost/codeigniter/index.php/user_controller/user melalui browser.

Jika code yang anda masukkan benar, maka seluruh data di dalam tabel user akan muncul.

menampilkan data dari database menggunakan codeigniter

Source code: menampilkan_data_database_codeigniter

Tutorial selanjutnya adalah menghapus data menggunakan Codeigniter.

Semoga bermanfaat

37 Comments


  1. mas,.,aku coba gabungin ama fungsi user tutorial yang pertama (insert user), dan yang kedua ini menampilkan user,jadi ku gabung fungsi usernya,error di bagian view daftar_user.php nya,,warngingya,,invalid argumen supplied foreach($daftar_user as $user),,kira-kira cara mengatasinya gimana,,makasi seblumnya..???

    Reply

    1. mungkin penamaan variabelnya ada yang salah, coba cek2 lagi. atau posting saja file phpnya disini

      Reply

  2. asw
    mas disavenya dmana ya klu buat nampilin ?
    soalnya masih awam bg, jadi rada-rada bingung
    thank’s

    Reply

  3. mas itu nyimpan data user_controller dmana???
    apa ditumpangin aja ke user_controller yag udah dibuat pada insert

    Reply

  4. (y)
    mantap mas search di google yang muncul webmu lagi

    Reply

  5. Mas.. ko nama file’nya pda sama ia?
    gimana maksudnya itu th, maaf saya kurang ngerti.

    mhon bantuan nya saya baru belajar..
    terimakasih

    Reply

  6. itu di taro di file yg sama? trus pake fungsinya apa om biar ga ke tampilan untuk insert data yg sebelumnya?

    Reply

    1. ditaruh di masing2 folder (controller, view, model)
      saya krg paham maksud pertanyaannya 🙂

      Reply

  7. mas, waktu saya coba load kok halamannya gak muncul, salah di bagian apanya ya mas, saya baru belajar CI

    Reply

    1. udah bisa mas, hehe, ternyata syntaxnya yg kurang, maklum saya ngetik ulang, hehe
      maju terus mas

      Reply

    1. masing2 di model, view, controller, nama file nya dibedakan saja, atau dijadikan satu file dengan yang insert data jg bisa

      Reply

  8. mas ko punya saya error yah??
    mohon balesan via email ajh mas. (jramdhoni20@gmail.com)

    A PHP Error was encountered

    Severity: Notice

    Message: Trying to get property of non-object

    Filename: controllers/user_controller.php

    Line Number: 20

    Fatal error: Call to a member function model() on a non-object in C:\xampp\htdocs\codeigniter\application\controllers\user_controller.php on line 20

    ============================================================
    function user()
    {
    $data[‘judul’] = “Insert Data User”;
    $this->load->view(‘user’, $data);
    $data->load->model(‘user_model’);
    $data[‘judul’] = “Menampilkan Data dari Database menggunakan Codeigniter”;
    $data[‘daftar_user’] = $this->user_model->get_user_all();
    $this->laod->view(‘daftar_user’, $data);
    }

    ============================================================

    Reply

    1. Fatal error: Call to undefined method User_model::get_user_all() in C:\xampp\htdocs\CodeIgniter\application\controllers\user_controller.php on line 24

      Reply

  9. mas ,, maksud nya untuk dijadikan satu file itu gimana caranya ??

    Reply

  10. mas, kenapa database nya error ya? ‘no database selected’, tlong penjelasannuya mas, makasih

    Reply

  11. mas mau tanya , saya sudah coba . terus ada eror di view nya . yg bagian foreach . itu salah apanya ya ? makasih

    Reply

  12. Nyaris gak tegoran dengan mouse gara-gara lupa nulis auto load nya ? mpe 2 jam muter-muter, but big thanks kunjungan balik gan ?

    Reply

  13. mas, bisa bantu masalah ini

    Fatal error: Call to a member function result() on a non-object in C:\xampp\htdocs\CodeIgniter\application\models\user_model.php on line 20

    $this->input->post(‘nama_lengkap’),
    ‘username’ => $this->input->post(‘username’),
    ‘password’ => md5($this->input->post(‘password’)),
    ’email’ => $this->input->post(’email’),
    ‘alamat’ => $this->input->post(‘alamat’)
    );
    $simpan = $this->db->insert(‘user’, $simpan_data);
    return $simpan;
    }

    function get_all_user()
    {
    $query=$this->db->query(“SELECT * FROM user ORDER BY id_user DESC”);
    return $query->result();
    }
    }

    Reply

    1. $this->input->post(‘nama_lengkap’),
      ‘username’ => $this->input->post(‘username’),
      ‘password’ => md5($this->input->post(‘password’)),
      ’email’ => $this->input->post(’email’),
      ‘alamat’ => $this->input->post(‘alamat’)
      );
      $simpan = $this->db->insert(‘user’, $simpan_data);
      return $simpan;
      }

      function get_all_user()
      {
      $query=$this->db->query(“SELECT * FROM user ORDER BY id_user DESC”);
      return $query->result();
      }
      }

      Reply

  14. A Database Error Occurred

    Error Number: 1046

    No database selected

    SELECT * FROM user ORDER BY id_user DESC

    Filename: C:\xampp\htdocs\sriwedari\system\database\DB_driver.php

    Line Number: 330

    Reply

      1. cek lagi, Querynya salah

        No database selected SELECT * FROM user ORDER BY id_user DESC Filename

        Reply

Leave a Reply

Your email address will not be published. Required fields are marked *