Tampil data memakai Codeigniter versi 2.0.2

Codeigniter 2.0

Dalam artikel terdauhulu :

Codeigniter dasar – Membuat insert data

Codeigniter dasar – Menampilkan dan menghapus

Codeigniter dasar – Membuat Edit data

Codeigniter dasar – Belajar Ajax dengan Jquery

Menghapus data dengan JQuery

CRUD sederhana dengan JQuery, JQueryUI dan Codeigniter

Menggunakan Codeigniter dan JQGrid

Kesemuanya menggunakan Codeigniter versi 1.7.3 (kalo saya tidak salah ingat..) Nah berhubung sekarang sudah ada yang versi terbaru, berikut ini CRUD sederhana dengan Codeigniter verse 2.0.2 silahkan cari perbedaannya dengan yang versi terdahulu.

Misalnya, kita akan membuat aplikasi pendaftaran user.. Untuk databasenya adalah sebagai berikut :

CREATE TABLE IF NOT EXISTS `user` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `username` varchar(15) NOT NULL,
  `password` text NOT NULL,
  `fullname` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
)

Sebelum membuat controller dan sebagainya, silahkan sesuaikan pada application/config/config.php

$config['base_url']= 'http://localhost/nama_folder_ci/';

application/config/autoload.php

$autoload['libraries'] = array('database','form_validation');
$autoload['helper'] = array('url','form');

application/config/database.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root'; //user mysql kalian
$db['default']['password'] = ''; //password mysql kalian
$db['default']['database'] = 'codeigniter'; //nama database kalian
$db['default']['dbdriver'] = 'mysql';
...dst

Nah untuk cotroller, saya buat dalam fungsi index yang nantinya terdapat form input dan tabel data yang di inputkan.. controllernya dan fungsi indexnya

<?php
class User extends CI_Controller{

	function __construct(){
		parent::__construct();
		$this->load->model('Model_user');
	}

	function index(){
		$data['query'] = $this->Model_user->getAll();
		$this->load->view('view_user/input',$data);
	}
}

Jangan lupa membuat model_user, dengan fungsi untuk menampilkan data scriptnya :

<?php
class Model_user extends CI_Model{
        function __construct(){
		parent::__construct();
	}

	function getAll(){
		$this->db->select('id,username,fullname');
                $this->db->from('user');
                $this->db->limit(10);
                $this->db->order_by('id','ASC');
                $query = $this->db->get();

                return $query->result();
	}
}

Untuk tampilannya, saya lebih menyenangi membuat sebuah folder untuk setiap crud 😀 jadi dalam folder views saya membuat folder dengan nama user_views, dan di dalamnya saya membuat view input.php dan show.php.
input.php digunakan untuk inputan form, scriptnya sebagai berikut :

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Data User</title>
  </head>
  <body>
    <div id="form_input" title="Input / Edit Data">
      <table>
        <?php echo validation_errors(); ?>
        <?php echo form_open('user/submit'); ?>
        <tr >
            <td> <?php echo form_label('User Name : '); ?></td>
            <td> <?php echo form_input('username',set_value('username'),'id="username"'); ?></td>
        </tr>
        <tr>
            <td> <?php echo form_label('Password : ');?> </td>
            <td> <?php echo form_password('password','','id="password"'); ?></td>
        </tr>
         <tr>
            <td> <?php echo form_label('Repeat Password : ');?> </td>
            <td> <?php echo form_password('passconf','','id="passconf"'); ?></td>
        </tr>
        <tr>
            <td> <?php echo form_label('Full Name : ');?> </td>
            <td> <?php echo form_input('fullname', set_value('fullname'),'id="fullname"'); ?></td>
        </tr>
        <tr>
        		<td><?php echo form_submit('submit','Save')?>
        </tr>
      </table>
      </div>
      <div id="show">
        <?php $this->load->view('view_user/show'); ?>
    </div>
    </div>
  </body>
</html>

sedangkan show.php scriptnya adalah sebagai berikut :

<?php
	if (isset($query) && count($query) > 0){
	?>
	<h1>Data User</h1>
	<table width="400" border="1">
 	<tr >
	 <th>No</th>
	 <th>Username</th>
	 <th>Fullname</th>
	 <th>Edit</th>
	 <th>Delete</th>
 </tr>
 <?php
 $i=0;
 foreach ($query as $row){
 $i++;
 echo "<tr class=\"record\">";
 echo    "<td>$i</td>";
 echo    "<td>$row->username</td>";
 echo    "<td>$row->fullname</td>";
 echo    "<td><a href=".base_url()."index.php/user/edit/$row->id>Edit</a></td>";
 echo    "<td><a href=".base_url()."index.php/user/delete/$row->id>Delete</a></td>";
 echo  "</tr>";
 }
 ?>
</table>
<?php
	}
?>

sampai sini, kita sebenarnya sudah selesai untuk membuat fungsi menampilkan data dari database, coba masukkan data lewat phpmyadmin, insyaalloh udah bisa tampil… Untuk simpan dan edit serta delete, lanjut di post berikutnya ya 😀

  • ujang

    ini routenya gmana y,,,bingung saya? coz ada 2 di viewnya

    • Pada controller function index, memanggil view pertama

      $this->load->view('view_user/input',$data);
      

      kemudian pada view itu (file input.php) manggil view kedua

      <?php $this->load->view('view_user/show'); ?>
      
  • ujang

    oke master..thank u…

    • belum master 🙂 masih belajar juga 🙂

  • ujang

    ayo kawan…semangat terus dalam berbagai ilmu…

  • artikel’y bagus-bagus uyyyyy…..

    gan bedanya selectAll dengen getAll itu appan????

    • selectALL itu dimana ya?

      kalo getAll itu nama fungsi (tersertah Anda sih kalo nama fungsi) yang saya buat untuk memanggil semua data dari tabel

  • sekali lg deh tanya 😀

    itu udah pake form dari library CondeIgniter yaks????
    tolong di jabarin dund…..

    • library codeigniter ada banyak, contoh yang saya pakai adalah database, library ini digunakan pada saat aplikasi kita berhubungan dengan database, misalnya insert data

  • gan setelah ane coba 😀

    error 404 :
    setelah klik save….
    gw curiga c disini

     <?php echo form_open('user/submit'); ?>

    file submit’y dmn???
    mohon pencerahanya dund…..

    • kalo erornya

      404 Page Not Found
      The page you requested was not found.

      Itu nama fungsinya berarti salah, coba di cek di controller. Kalo Anda curiga baris tersebut yang salah, kemungkinan di controller user, belum ada function submit.

      <?php echo form_open('user/submit'); ?>

      Ini CI, jadi bukan pake file submit, tetapi function submit pada controller user.

  • david

    Om terima kasih tutornya, tp ada penjelasan yg kebalik tuh “…folder views saya membuat folder dengan nama user_views” harusnya view_user (sesuai script) cmiiw.

    • kayaknya begitu 😀 thx atas koreksinya

  • aca

    kakak, mau usul. tutorial login pake ci plis 😀

    • Ditunggu aja, lagi jarang pegang PHP gegara nyobain NGINX belum berhasil haha

  • mht

    mas dudu tutorial bikin paging dunkkk yg sederhana aj duluu ..yg mudah di ingat ajjj

  • Thank you….artikelnya sangat membantu…..

  • itu file2nya disimpen dimana aj ya ?? saya amat sangat nubi disini.
    tolong sejelas-jelasnya 🙁

    • disimpan dimana? ya di server Anda..

      Nubi? pejarai PHP dulu aja 🙂 jangan langsung ke framework

  • ardi

    Ah gan napa ye :
    Fatal error: Call to undefined function form_open() in /var/www/ci22_dudu/application/views/user_views/input.php on line 10

    • load dulu library form nya

  • dady

    Sedikit di luar ente gan,
    ane ada aplikasi menggunakan CI, jika di windows semua menu berjalan lancar
    ketika di pindah ke linux ada beberapa menu yang tidak tampil di grid dan selalu proses, mohon pencerahannya gan, trims

    • Mungkin di penamaan direktori atau penulisan tanda path nya, kalo di linux pake / kalo di windows pake \

  • mass mo nanya klo ada pesan error kayak gini…

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined property: CAdmin::$Mkonselor

    Filename: controllers/cAdmin.php

    Line Number: 36

    Fatal error: Call to a member function insert_data() on a non-object in C:\xampp\htdocs\menheal\application\controllers\cAdmin.php on line 36

    udah di obrak abrik ttp gak ketemu errornya
    gmn cara menganganinya ya mas
    terima kasih

    • Nama modelnya salah / berbeda. Cek lagi penamaannya,,

  • agus

    mas koq gak ada tempat downloadnya?? kirimin ke email ane yah 😀 thanks

    • ada di github, cari aja..

  • dudu ada error nih
    An Error Was Encountered

    Unable to load the requested file: view_user/input.php

    trus kalo input-nya saya ilangin malah jadi gini
    An Error Was Encountered

    Unable to load the requested file: view_user/show.php

    nah kalo saya ilangin show-nya
    malah ga nampil apa-apa..

    tolong pencerahannya.. 🙂

    • buat dahulu input.php dan show di views/view_user

  • satu lagi,
    pas saya submit hasilnya
    404 Page Not Found

    The page you requested was not found.

    thanks dudu..

    • buat dahulu function di controllernya

  • ryan

    saya newbie mau tanya ni mas .

    saya kan punya file template.php, nah itu adanya di aplication/view

    tapi pas saya klik link Coba yang ada di dlemnya ko yang muncul ya, padahal saya jg sudah buat file tes.php nya, dan saya taruh sejajar dengan file template.php nya….

    itu gmn ya mas ?

    • menggunakan CI? kalo menggunakan link yang dibuat diarahkan ke controller, bukan ke file view secara langsung

  • mia

    pak master…aq nyoba kok pas pada waktu submit data kluarnya not page found yak??mohon di bantu donk masih newbie masih belajar… heheheh 😀

  • mia

    tapi setelah di submit gak bisa nampil data nya pak master… 😀 gimana yak??heheh

    • salah scriptnya mungkin

  • mia

    pak master udah saya coba buat copas sript na tp saat di submit dia lagsung muncul page error, di database juga nggak mau masuk… gimana yak?? mohon bntuannya

    • saya ga tau errornya 🙂

  • Elan Budi Kusumah

    kang dudu syntax delete teh udah tapi pass di klik gening ga kedelete..
    gimaana atuh

    • dwijonarko

      mungkin query delete nya

  • Fajarpramono

    thanks,atas tutorianya, tapi kalo kita tidak jeli pasti ada yang error.
     

    • dwijonarko

      sengaja biar pembaca tidak hanya copas

  • Akiddcode

    Gan terimakasih banyak ya gan… 

    bermanfaat banget 😀
    semoga ilmunya tambah barokah ! amin !

  • Akiddcode

    mas saya tunggu tutorialnya untuk CI versi 2.0.2 yang insert update dan delete..

    😀

  • agus

    maksih banget atsa tutorialnya mass

  • Chitra Licious

    database aku kok ga konek terus ya….

    mohon pencerahannya

    kira2 pesan errornya seperti ini

    A Database Error Occurred

    Unable to select the specified database: lat_3

    Filename: C:xampphtdocsLatihan3systemdatabaseDB_driver.php

    Line Number: 140″

    terimakasih.

    • dwijonarko

      cek nama databasenya, cek username dan password mysql nya.

      Kalo pake xampp biasanya username dikasih root, paswordnya dikosongin aja

  • yuni roza

    saya juga mau nanya juga ne mas..tapi berhbungan dengan converterCI ke PDF mas..saya pakai dompdf mas..pas di klik convertnya…
    errornya kek gini mas,..

    Unable to load the requested file: views/cetak.php
    file “cetak.php” udah ada mas..kira2 kndlanya apa yha mas…??/
    mohon pncrhannya…

    • maksudnya sudah ada, sudah ada di folder views kan?