Codeigniter dasar – Menampilkan dan Menghapus Data

Setelah berhasil memasukkan data ke table, sekarang cara untuk menampilkan data tersebut. Agar lebih simple, saya akan membuat tampilan 1 tampilan saja. Jadi di bawah form input data, akan terdapat table untuk menampilkan data yang telah dimasukkan tadi. Seperti gambar berikut ini :

Lets go igniting the code :D….





Kalo dilihat dari algoritmanya, ketika kita mengakses daily/index, maka yang dilakukan adalah mengambil data dan menampilkannya (secara sederhananya seperti itu.) Sehingga controller daily pada bagian function kita tambahkan menjadi seperti berikut :


<?php

class Daily extends Controller

{

… //kode sebelumnya

function index()

{

$data['query'] = $this->MDaily->getAll();

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

}

...//kode sebelumnya

}

1 baris untuk mengakses Model, kemudian baris selanjutnya menampilkan hasilnya ke dalam view.

Jangan lupa, pada model kita buat fungsi getAll untuk mengambil data dari table. Sehingga model Mdaily isinya sebagai berikut :


<?php

class MDaily extends Model

{

… //kode sebelumnya

function getAll()

{

$this->db->order_by('id','ASC');

$query = $this->db->get('daily');

return $query->result();

}

}

Dengan menggunakan Active Record pada codeigniter, perintah SQL digantikan dengan seperti di atas. Bisa juga dengan $this->db->query(“SELECT * FROM daily ORDER BY ‘id’ ASC ”); sama saja, untuk Active Record Codeigniter dapat dibaca pada user_guide Codeiginter. Sangat lengkap di situ.

OK, selanjutnya setelah membuat Controller dan Model, sekarang menuju View. Kita buat view untuk menampilkan datanya. Saya beri nama show.php dan disimpan di views/daily/show.php Isinya sebagai berikut :


<b>Daily Notes</b>

<table border="1">

<tr>

<tr>

<th>No</th>

<th>Date</th>

<th>Name</th>

<th>Amount</th>

<th>Delete</th>

</tr>

</tr>

<?php

$i=0;

foreach ($query as $row){

$i++;

echo "<tr class=\"record\">";

echo    "<td>$i</td>";

echo    "<td>$row->date</td>";

echo    "<td>$row->name</td>";

echo    "<td>$row->amount</td>";

echo    "<td><a href=".base_url()."index.php/daily/delete/$row->id>Delete</a></td>";

echo  "</tr>";

}

?>

</table>

Kenapa tidak full halaman html? Karena halaman ini cukup disisipkan pada input.php, kalo pada php biasa kita pakai include(show.php). Sehingga pada input.php ditambahkan baris berikut :


<!DOCTYPE HTML>

<html lang="en-US">

<head>

<title>Daily Notes</title>

<meta charset="UTF-8">

</head>

<body>

...//kode sebelumnya

<div id="list">

<?php $this->load->view('daily/show') ?>

</div>

</body>

</html>

Oh iya, pada show.php terdapat link untuk menghapus data, karena sudah terlanjur ya buat aja function untuk menghapus data, tambahkan funcion delete pada controller, sehingga controller menjadi seperti berikut :


<?php

class Daily extends Controller

{

...//kode sebelumnya

function delete($id){

$this->db->delete('daily', array('id' => $id));

redirect('daily/index');

}

}

Mudah bukan? Silahkan dicoba untuk memasukkan data dan menghapus data. Semoga berhasil..

Tutorial selanjutnya, kita coba memasukkan data dengan ajax menggunakan jquery ya?? OK!! Mudah ko, menurut saya lho…

Happy Igniting..


70 thoughts on “Codeigniter dasar – Menampilkan dan Menghapus Data

    1. dudu Post author

      Coba download lagi mas. Tadi saya lihat memang masih ada beberapa bagian yang perlu diperbaiki 😀

      file config.php di bagian $config[‘base_url’] itu masih ada kesalahan nama urlnya.

      Kemudian function delete pada controler di ubah menjadi

      function delete(){
      $id = $this->input->post(‘id’);
      $this->db->delete(‘daily’, array(‘id’ => $id));
      }

      Sudah buat databasenya? aksesnya di http://localhost/ci_ku/index.php/daily lho…

      Reply
  1. harry

    ijin donlot mas…
    pas saya extrak,folder .hg sama file .hgtags dan .hgignore itu gunanya utk apa mas??
    trus satu lg mas,pas input data,kan pake jquery,efek jquery nya apa mas???
    makasi mas….

    Reply
  2. dudu Post author

    .hg dan sejenisnya itu direktori kalo pake mercurial. Bisa cari tutorial mercurial source control management. Soalnya dulu saya lagi belajar mercurial.

    Jquery pada input data digunakan untuk memasukkan data menggunakan ajax. Silahkan baca setelah ini 🙂

    FIle yang di donlot kemungkinan masih ada error nya, karena saya dulu buatnya buru-buru, dalam waktu dekat akan saya perbaiki. Terimakasih….

    Reply
    1. hendry

      mas, untuk fungsi delete kan pake GET. jadi nggak perlu lagi code

      $id = $this->input->post(‘id’);

      seharusnya fungsi deletenya seperti ini

      function delete($id){
      $this->db->delete(‘daily’, array(‘id’ => $id));
      redirect(‘daily/index’);
      }

      Reply
  3. dede iin

    kira2 eror yg char nya dibagian mn ea mas ???
    bingung nihhh.. dah mumet ga ketemu… hehe….

    makasih banyak mas buat bntuannya…

    Reply
    1. dudu Post author

      disalowed character, itu ada tanda petik di belakang angka 2,

      silahkan edit file views/daily/list.php, kalo punya saya ga error syntaxnya seperti ini

      <b>Daily Notes</b>
      	<table border="1">
      		<tr>
      			<th>No</th>
      			<th>Date</th>
      			<th>Name</th>
      			<th>Amount</th>
      			<th>Delete</th>
      			</tr>
      		</tr>
      		<?
      			$i=0;
      			foreach ($query as $row){
      			$i++;
      			echo "<tr class=\"record\">";
      			echo    "<td>$i</td>";
      			echo    "<td>$row->date</td>";
      			echo    "<td>$row->name</td>";
      			echo    "<td>$row->amount</td>";
      			echo    "<td><a href=".base_url()."index.php/daily/delete/$row->id>Delete</a></td>";
      			echo  "</tr>";
      			}
      		?>
      	</table>
      
      Reply
  4. dede iin

    oia mas… maav sebelumnya….
    yg download dari mas masih ada eror n delete ga jalan…
    untuk input jalan,, tampil ma delete yg lumz…

    eror nya :

    Daily Notes
    Date :
    Name :
    Amount :
    Daily Notes “; echo “”; echo “”; echo “”; echo “”; echo “”; echo “”; } ?>
    No Date Name Amount Delete
    $i $row->date $row->name $row->amount id>Delete

    mohon bantuannya,,,,

    Reply
  5. dede iin

    mas aku ganti ikutin apa yg d rubah..
    ko eror nya sama kaya yg tadi aku post erornya ???

    Daily Notes “; echo “”; echo “”; echo “”; echo “”; echo “”; echo “”; } ?>
    No Date Name Amount Delete
    $i $row->date $row->name $row->amount id>Delete

    Reply
    1. dudu Post author

      saya kurang mengerti maksudnya, karena yang saya tangkap errornya echo echo, phpnya ga kebaca atw gmn?

      atau bisa kasih scrinsut nya aja?

      Reply
  6. syeehab

    sblumnya trima ksih bgt ats jwbannya….
    nah klaw buat fungsi edit d controller scriptnya kyak gmn tuh…bsa cntohin g….

    Reply
  7. Ardian

    lam kenal mas dudu…
    mohon pencerahannya ni..
    sourcenya dah ku download.
    tapi muncul error di tabelnya ga keluar datanya.
    yang muncul seperti mas dede iin bilang.
    thanks sebelumnya….

    Reply
  8. Ardian

    maaf masssss…..
    dah ketemu problemnya….hehehehe
    makasih dah mau berbagi ni, ini berguna bgt buatku yg newbie

    Reply
  9. adryan

    ewh.. maksudnya saya nanti masukkan kodenya apa mas??? bisa beri contoh.. habis saya ada tugas kuliah yg dikumpulkan selasa minggu depan tentang menampilkan dan mendelete. Mohon Pencerahan dan Pengajarannya Mas..

    Reply
  10. adryan

    A PHP Error was encountered

    Severity: Notice

    Message: Undefined property: Daily::$MDaily

    Filename: controllers/daily.php

    Line Number: 19

    Fatal error: Call to a member function save() on a non-object in C:\xampp\htdocs\Borarsi_ci\application\controllers\daily.php on line 19

    sudah jadi… tetapi begini yang ditampilkan mas

    Reply
  11. Juned

    bang dudu saya dah coba ikutin tutnya kok nemu error kaya gini ya data nya tidak tampil kemungkinan error nya dmn ya

    Daily Notes
    Date :
    Name :
    Amount :
    Daily Notes “; echo “”; echo “”; echo “”; echo “”; echo “”; echo “”; } ?>
    No Date Name Amount Delete
    $i $row->date $row->name $row->amount id>Delete

    Reply
  12. awan kurniawan

    mau tanya nie…maklum msh awam di php
    untuk menampilkan 1 data terakhir yang baru saja kita input gmn ya….tolong reply email ya….mksh…

    Reply
  13. carol

    terima kasih mas, tutorialnya sangat membantu buat pemula seperti saya,
    kebetulan tugas PKL bikin web, dari kampusnya menganjurkan buatnya pake CI..
    jadi ada pencerahan, thx2, hohohoho

    Reply
  14. zaza

    Alhamdulillah,..bagus tutorialnya. sangat membantu,. terimakasih.
    Tapi maaf,saya mau tanya.pas menampilkan kok ada eror muncul warning seperti ini
    A PHP Error was encountered

    Severity: Warning

    Message: Invalid argument supplied for foreach()

    Filename: daily/show.php

    Line Number: 17
    kira-kira kenapa ya?? mohon koreksinya. terimakasih.

    Reply
    1. dudu Post author

      coba periksa lagi script anda, biasanya pada penulisan variabel. Untuk kasus ini saya tidak dapat menyimpulkan kesalahan karena saya tidak melihat script Anda.

      Reply
  15. firdi

    mas Dudu,

    salam kenal, saya sedang belajar dari web-site mas dudu, sudah semakin mengerti aturan2 main dari CI, nah saya ada pertanyaan nih mas:

    untuk “function delete($id)” ditempatkan pada Controller, kenapa tidak ditempat pada Model? sedangkan saat Save (function save()) dan getAll (function getAll() ) di tempatkan pada Model.

    terimakasih mas, sukses selalu bersama kita semua.

    Reply
    1. dudu Post author

      Memang aturan main MVC di Codeigniter tidak terlalu sctrict seperti di Ruby On Rails. Sehingga kita diberikan kebebasan untuk meletakkan method/function pada controller atau model. Tergantung dari kebiasaan programmernya. bahkan saya pernah menemukan program CI yang hanya ada controller dan view tanpa model :hehe kodenya jadi spaghetti code.
      Kalo pada kasus tersebut kenapa tidak di model karena saya berpikir scriptnya pendek jadi saya letakkan di controller saja 😀

      Reply
    1. Agusrulianto

       thanks banget pelajarannya di tunggu artikel berikutny , sorry gak banyak koment karena masih pemula nie hehe

      Reply
  16. rika

    Maaf mas dudu, saya ingin meminta source code ci yang telah dibuat mas dudu, biar saya pelajari. saya kebingungan untuk menggunakan framework ini T.T
    mas dudu bisa kirim ke email saya rikazf20@gmail.com
    makasih mas buat bantuannya

    Reply

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.