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

41 thoughts on “Menampilkan Data dari Database Menggunakan Codeigniter”

  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
  2. 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
    • 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
  3. 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
    • $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
  4. 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
  5. Min, bagaiamana cara menampilkan lebih dari satu.

    | ID | | NAMA PAKET | | DEPARTURE | | ARRIVAL | | TOTALSEAT | | DOUVBLE | | TRIPLE | | QUAD | | BAYI |

    — phpMyAdmin SQL Dump
    — version 2.11.1
    http://www.phpmyadmin.net

    — Host: localhost
    — Waktu pembuatan: 11. Oktober 2017 jam 10:39
    — Versi Server: 5.0.45
    — Versi PHP: 5.2.4

    SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;


    — Database: `umroh`

    — ——————————————————–


    — Struktur dari tabel `airlines`

    CREATE TABLE `airlines` (
    `idairlines` int(11) NOT NULL auto_increment,
    `airlinesname` varchar(45) default NULL,
    PRIMARY KEY (`idairlines`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;


    — Dumping data untuk tabel `airlines`

    INSERT INTO `airlines` (`idairlines`, `airlinesname`) VALUES
    (1, ‘Garuda Indonesia’),
    (2, ‘Etihad Airways’),
    (3, ‘Qatar Airways’),
    (4, ‘Kuwait Airways’),
    (5, ‘Saudi Airlines’),
    (6, ‘Emirates Airways’),
    (7, ‘Singapore Airlines’),
    (8, ‘Turkish Airways’),
    (9, ‘Egypt Air’),
    (10, ‘CITILINK’),
    (11, ‘Qatar via Madinah’),
    (12, ‘Etihad via Madinah’),
    (13, ‘Etihad via Jeddah’),
    (14, ‘Qatar via Jeddah’),
    (15, ‘Turkish via Madinah’),
    (16, ‘Turkish via Jeddah’),
    (17, ‘Egypt via Madinah’);

    — ——————————————————–


    — Struktur dari tabel `package`

    CREATE TABLE `package` (
    `idpackage` int(11) NOT NULL,
    `packagetype` enum(‘Haji’,’Umroh’,’Wisata’) default NULL,
    `packagename` varchar(150) default NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


    — Dumping data untuk tabel `package`

    INSERT INTO `package` (`idpackage`, `packagetype`, `packagename`) VALUES
    (1, ‘Umroh’, ‘Orange’),
    (2, ‘Umroh’, ‘Ungu’),
    (3, ‘Umroh’, ‘Biru’),
    (4, ‘Umroh’, ‘Hijau’),
    (5, ‘Umroh’, ‘Coklat’),
    (6, ‘Umroh’, ‘Lanjutan Istanbul’),
    (7, ‘Umroh’, ‘Lanjutan Aqso’),
    (8, ‘Umroh’, ‘Lanjutan Abudhabi’),
    (9, ‘Umroh’, ‘Lanjutan Maroko Spanyol’),
    (10, ‘Umroh’, ‘Lanjutan Cairo’),
    (11, ‘Umroh’, ‘Lanjutan Istanbul + Edirne’),
    (12, ‘Umroh’, ‘Lanjutan Istanbul + Bursa’),
    (13, ‘Umroh’, ‘Lanjutan Istanbul + Yunani’),
    (14, ‘Umroh’, ‘Lanjutan Istanbul + Bosnia’),
    (15, ‘Umroh’, ‘Lanjutan Istanbul + Uzbekistan’),
    (16, ‘Umroh’, ‘Lanjutan Cairo + Yunani’),
    (18, ‘Umroh’, ‘Lanjutan Ankara + Capadocia’);

    — ——————————————————–


    — Struktur dari tabel `umrohpackage`

    CREATE TABLE `umrohpackage` (
    `idumrohpackage` varchar(50) NOT NULL,
    `noflight` varchar(15) NOT NULL,
    `departure` date default NULL,
    `arrival` date default NULL,
    `totalseat` int(11) default NULL,
    `idpackage` int(11) default NULL,
    `idairlines` int(11) default NULL,
    `tourleader` varchar(30) NOT NULL,
    `moderate` int(2) NOT NULL default ‘0’ COMMENT ‘moderate=1, can only be booked by patuna pusat’,
    PRIMARY KEY (`idumrohpackage`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


    — Dumping data untuk tabel `umrohpackage`

    INSERT INTO `umrohpackage` (`idumrohpackage`, `noflight`, `departure`, `arrival`, `totalseat`, `idpackage`, `idairlines`, `tourleader`, `moderate`) VALUES
    (‘LAXWQ5UAIL7D’, ‘kosong’, ‘2017-04-07’, ‘2017-04-18’, 35, 11, 12, ‘kosong’, 0),
    (‘LAZGO3T5ULEP’, ‘kosong’, ‘2017-04-06’, ‘2017-04-16’, 35, 10, 12, ‘kosong’, 0),
    (‘UN4JV5UXSWJK’, ‘-‘, ‘2017-02-01’, ‘2017-02-09’, 25, 2, 1, ‘-‘, 0),
    (‘UN9VM2I3CBV6’, ‘-‘, ‘2017-02-15’, ‘2017-02-23’, 25, 2, 1, ‘-‘, 0),
    (‘UNBKNQI7U9K9’, ‘-‘, ‘2017-02-08’, ‘2017-02-16’, 35, 4, 1, ‘-‘, 0),
    (‘UNELNDTGUY6R’, ‘-‘, ‘2017-01-18’, ‘2017-01-26’, 25, 2, 1, ‘-‘, 0),
    (‘UNOK8GTOIBK3’, ‘-‘, ‘2017-03-28’, ‘2017-04-05’, 25, 2, 1, ‘-‘, 0),
    (‘UNOPJ3CLT4GN’, ‘-‘, ‘2017-03-14’, ‘2017-03-22’, 25, 2, 1, ‘-‘, 0),
    (‘UNW95OIQSZMX’, ‘-‘, ‘0000-00-00’, ‘2017-03-08’, 25, 2, 1, ‘-‘, 0);

    — ——————————————————–


    — Struktur dari tabel `umrohpackageprice`

    CREATE TABLE `umrohpackageprice` (
    `idprice` int(11) NOT NULL auto_increment,
    `idumrohpackage` varchar(50) NOT NULL,
    `typecost` varchar(50) NOT NULL,
    `price` int(11) NOT NULL,
    PRIMARY KEY (`idprice`),
    KEY `idumrohpackage` (`idumrohpackage`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2717 ;


    — Dumping data untuk tabel `umrohpackageprice`

    INSERT INTO `umrohpackageprice` (`idprice`, `idumrohpackage`, `typecost`, `price`) VALUES
    (2493, ‘HIE7JLT6SPG6’, ‘Kamar Ber 2’, 2850),
    (2494, ‘HIE7JLT6SPG6’, ‘Kamar Ber 3’, 2750),
    (2495, ‘HIE7JLT6SPG6’, ‘Kamar Ber 4’, 2700),
    (2496, ‘HIE7JLT6SPG6’, ‘Bayi’, 500),
    (2497, ‘HI3QZ3ILFJQN’, ‘Kamar Ber 2’, 2850),
    (2498, ‘HI3QZ3ILFJQN’, ‘Kamar Ber 3’, 2750),
    (2499, ‘HI3QZ3ILFJQN’, ‘Kamar Ber 4’, 2700),
    (2500, ‘HI3QZ3ILFJQN’, ‘Bayi’, 500),
    (2501, ‘HIOYGGSDTWYW’, ‘Kamar Ber 2’, 2850),
    (2502, ‘HIOYGGSDTWYW’, ‘Kamar Ber 3’, 2750),
    (2503, ‘HIOYGGSDTWYW’, ‘Kamar Ber 4’, 2700),
    (2504, ‘HIOYGGSDTWYW’, ‘Bayi’, 500),
    (2505, ‘HIMOPEH6IV36’, ‘Kamar Ber 2’, 2850),
    (2506, ‘HIMOPEH6IV36’, ‘Kamar Ber 3’, 2750),
    (2507, ‘HIMOPEH6IV36’, ‘Kamar Ber 4’, 2700),
    (2508, ‘HIMOPEH6IV36’, ‘Bayi’, 500),
    (2509, ‘CO3G3NSETLGD’, ‘Kamar Ber 2’, 2000),
    (2510, ‘CO3G3NSETLGD’, ‘Kamar Ber 3’, 1900),
    (2511, ‘CO3G3NSETLGD’, ‘Kamar Ber 4’, 1850),
    (2512, ‘CO3G3NSETLGD’, ‘Bayi’, 500),
    (2513, ‘COE7Z5UPTMYL’, ‘Kamar Ber 2’, 2000),
    (2514, ‘COE7Z5UPTMYL’, ‘Kamar Ber 3’, 1900),
    (2515, ‘COE7Z5UPTMYL’, ‘Kamar Ber 4’, 1850),
    (2516, ‘COE7Z5UPTMYL’, ‘Bayi’, 500),
    (2517, ‘COMWYZC8UBDL’, ‘Kamar Ber 2’, 2000),
    (2518, ‘COMWYZC8UBDL’, ‘Kamar Ber 3’, 1900),
    (2519, ‘COMWYZC8UBDL’, ‘Kamar Ber 4’, 1850),
    (2520, ‘COMWYZC8UBDL’, ‘Bayi’, 500),
    (2521, ‘COYAWVCWUGE3’, ‘Kamar Ber 2’, 2000),
    (2522, ‘COYAWVCWUGE3’, ‘Kamar Ber 3’, 1900),
    (2523, ‘COYAWVCWUGE3’, ‘Kamar Ber 4’, 1850),
    (2524, ‘COYAWVCWUGE3’, ‘Bayi’, 500),
    (2525, ‘COD5EXTQCWY3’, ‘Kamar Ber 2’, 2000),
    (2526, ‘COD5EXTQCWY3’, ‘Kamar Ber 3’, 1900),
    (2527, ‘COD5EXTQCWY3’, ‘Kamar Ber 4’, 1850),
    (2528, ‘COD5EXTQCWY3’, ‘Bayi’, 500),
    (2529, ‘COLKDNU8CZBD’, ‘Kamar Ber 2’, 2000),
    (2530, ‘COLKDNU8CZBD’, ‘Kamar Ber 3’, 1900),
    (2531, ‘COLKDNU8CZBD’, ‘Kamar Ber 4’, 1850),
    (2532, ‘COLKDNU8CZBD’, ‘Bayi’, 500),
    (2533, ‘CO3Q2ACXTAQW’, ‘Kamar Ber 2’, 2000),
    (2534, ‘CO3Q2ACXTAQW’, ‘Kamar Ber 3’, 1900),
    (2535, ‘CO3Q2ACXTAQW’, ‘Kamar Ber 4’, 1850),
    (2536, ‘CO3Q2ACXTAQW’, ‘Bayi’, 500),
    (2537, ‘CO4KN9I4TAKD’, ‘Kamar Ber 2’, 2000),
    (2538, ‘CO4KN9I4TAKD’, ‘Kamar Ber 3’, 1900),
    (2539, ‘CO4KN9I4TAKD’, ‘Kamar Ber 4’, 1850),
    (2540, ‘CO4KN9I4TAKD’, ‘Bayi’, 500),
    (2541, ‘CONP8WUWI6DL’, ‘Kamar Ber 2’, 2000),
    (2542, ‘CONP8WUWI6DL’, ‘Kamar Ber 3’, 1900),
    (2543, ‘CONP8WUWI6DL’, ‘Kamar Ber 4’, 1850),
    (2544, ‘CONP8WUWI6DL’, ‘Bayi’, 500),
    (2545, ‘CO36YQTWI87G’, ‘Kamar Ber 2’, 2000),
    (2546, ‘CO36YQTWI87G’, ‘Kamar Ber 3’, 1900),
    (2547, ‘CO36YQTWI87G’, ‘Kamar Ber 4’, 1850),
    (2548, ‘CO36YQTWI87G’, ‘Bayi’, 500),
    (2549, ‘COD89PCMI27N’, ‘Kamar Ber 2’, 2000),
    (2550, ‘COD89PCMI27N’, ‘Kamar Ber 3’, 1900),
    (2551, ‘COD89PCMI27N’, ‘Kamar Ber 4’, 1850),
    (2552, ‘COD89PCMI27N’, ‘Bayi’, 500),
    (2553, ‘CO5Y5AC6UGYE’, ‘Kamar Ber 2’, 2000),
    (2554, ‘CO5Y5AC6UGYE’, ‘Kamar Ber 3’, 1900),
    (2555, ‘CO5Y5AC6UGYE’, ‘Kamar Ber 4’, 1850),
    (2556, ‘CO5Y5AC6UGYE’, ‘Bayi’, 500),
    (2557, ‘COE5QMUVI7GA’, ‘Kamar Ber 2’, 2000),
    (2558, ‘COE5QMUVI7GA’, ‘Kamar Ber 3’, 1900),
    (2559, ‘COE5QMUVI7GA’, ‘Kamar Ber 4’, 1850),
    (2560, ‘COE5QMUVI7GA’, ‘Bayi’, 500),
    (2609, ‘LAG87WUBTW3R’, ‘Kamar Ber 2’, 3800),
    (2610, ‘LAG87WUBTW3R’, ‘Kamar Ber 3’, 3700),
    (2611, ‘LAG87WUBTW3R’, ‘Kamar Ber 4’, 3650),
    (2612, ‘LAG87WUBTW3R’, ‘Bayi’, 500),
    (2613, ‘LAAO9QUASBOW’, ‘Kamar Ber 2’, 3800),
    (2614, ‘LAAO9QUASBOW’, ‘Kamar Ber 3’, 3700),
    (2615, ‘LAAO9QUASBOW’, ‘Kamar Ber 4’, 3650),
    (2616, ‘LAAO9QUASBOW’, ‘Bayi’, 500),
    (2617, ‘LAXWQ5UAIL7D’, ‘Kamar Ber 2’, 3800),
    (2618, ‘LAXWQ5UAIL7D’, ‘Kamar Ber 3’, 3700),
    (2619, ‘LAXWQ5UAIL7D’, ‘Kamar Ber 4’, 3650),
    (2620, ‘LAXWQ5UAIL7D’, ‘Bayi’, 500),
    (2625, ‘LAPN88U2TQNY’, ‘Kamar Ber 2’, 3800),
    (2626, ‘LAPN88U2TQNY’, ‘Kamar Ber 3’, 3700),
    (2627, ‘LAPN88U2TQNY’, ‘Kamar Ber 4’, 3650),
    (2628, ‘LAPN88U2TQNY’, ‘Bayi’, 500),
    (2633, ‘LAVELKSXU8GM’, ‘Kamar Ber 2’, 3550),
    (2634, ‘LAVELKSXU8GM’, ‘Kamar Ber 3’, 3250),
    (2635, ‘LAVELKSXU8GM’, ‘Kamar Ber 4’, 3200),
    (2636, ‘LAVELKSXU8GM’, ‘Bayi’, 500),
    (2641, ‘LAZGO3T5ULEP’, ‘Kamar Ber 2’, 3550),
    (2642, ‘LAZGO3T5ULEP’, ‘Kamar Ber 3’, 3450),
    (2643, ‘LAZGO3T5ULEP’, ‘Kamar Ber 4’, 3400),
    (2644, ‘LAZGO3T5ULEP’, ‘Bayi’, 500),
    (2645, ‘LAVNLYU5I8OZ’, ‘Kamar Ber 2’, 3550),
    (2646, ‘LAVNLYU5I8OZ’, ‘Kamar Ber 3’, 3450),
    (2647, ‘LAVNLYU5I8OZ’, ‘Kamar Ber 4’, 3400),
    (2648, ‘LAVNLYU5I8OZ’, ‘Bayi’, 500),
    (2649, ‘LAGQY4ILS7R2’, ‘Kamar Ber 2’, 4150),
    (2650, ‘LAGQY4ILS7R2’, ‘Kamar Ber 3’, 4050),
    (2651, ‘LAGQY4ILS7R2’, ‘Kamar Ber 4’, 4000),
    (2652, ‘LAGQY4ILS7R2’, ‘Bayi’, 500),
    (2653, ‘LAPAWRT8FVD4’, ‘Kamar Ber 2’, 4150),
    (2654, ‘LAPAWRT8FVD4’, ‘Kamar Ber 3’, 4050),
    (2655, ‘LAPAWRT8FVD4’, ‘Kamar Ber 4’, 4000),
    (2656, ‘LAPAWRT8FVD4’, ‘Bayi’, 500),
    (2657, ‘LA6R2VHMUMRY’, ‘Kamar Ber 2’, 4950),
    (2658, ‘LA6R2VHMUMRY’, ‘Kamar Ber 3’, 4850),
    (2659, ‘LA6R2VHMUMRY’, ‘Kamar Ber 4’, 4800),
    (2660, ‘LA6R2VHMUMRY’, ‘Bayi’, 500),
    (2661, ‘LAR5MJS9F759’, ‘Kamar Ber 2’, 3650),
    (2662, ‘LAR5MJS9F759’, ‘Kamar Ber 3’, 3550),
    (2663, ‘LAR5MJS9F759’, ‘Kamar Ber 4’, 3500),
    (2664, ‘LAR5MJS9F759’, ‘Bayi’, 500),
    (2665, ‘LA2QZZTEIAQD’, ‘Kamar Ber 2’, 3650),
    (2666, ‘LA2QZZTEIAQD’, ‘Kamar Ber 3’, 3550),
    (2667, ‘LA2QZZTEIAQD’, ‘Kamar Ber 4’, 3500),
    (2668, ‘LA2QZZTEIAQD’, ‘Bayi’, 500),
    (2673, ‘LAX6Q7HGTAMV’, ‘Kamar Ber 2’, 3350),
    (2674, ‘LAX6Q7HGTAMV’, ‘Kamar Ber 3’, 3250),
    (2675, ‘LAX6Q7HGTAMV’, ‘Kamar Ber 4’, 3200),
    (2676, ‘LAX6Q7HGTAMV’, ‘Bayi’, 500);

    Reply

Leave a Reply to Muhammad Fajri Cancel reply