Share this history on :

Sabtu, 09 Februari 2013

9 Update (Edit) Data Di Database Menggunakan Codeigniter


Jangan Lupa Tinggalkan Komentar Kalian Ya...!!!
Bissmillah...
Masih semasa liburan dari pada nganggur mendingan nulis-nulis di blog mudah2an bisa bermanfa'at bagi kita semua aamiin aamiin aamiin ya Robbal'alamin :-)
Sebelumya kita sudah bahas tentang cara Insert Data Di Database Menggunakan Codeigniter, lalu bagaimana jika kita suatu saat akan mengubah data yang sudah kita insertkan tadi masak mau dengan cara manual kan gak etis :-D
sekarang kita akan bahas bagaimana cara Update (Edit) Data Di Database Menggunakan Codeigniter, langsung saja ke TKP ya malah muter2 :-D
1. Buka file v_mhs.php di dalam folder Codeigniter/applications/views yang sudah kita buat di tutorial sebelumnya, tambahkan link "Edit" fungsinya jika kita tekan maka akan mengedit data dari data yang akan kita edit, tambahkan pada baris ke 15 dan baris ke 26 menjadi seperti ini :

<?php
if (empty($hasil)) {
 echo "Data mahasiswa masih kosong!";
}
else {
?>
<h3> Data Mahasiswa </h3>
<?php echo anchor('c_mhs/tambah_data', 'Tambah Data'); ?>
<table>
<tr bgcolor="FFEE22">
 <th> No </th>
 <th> Nim </th>
 <th> Nama </th>
 <th> Alamat </th>
 <th> Aksi </th>
</tr>
<?php
$no = 1;
foreach ($hasil as $data):
?>
<tr>
 <td> <?php echo $no; ?> </td>
 <td> <?php echo $data->nim; ?> </td>
 <td> <?php echo $data->nama; ?> </td>
 <td> <?php echo $data->alamat; ?> </td>
 <td><a href="c_mhs/update_data/<?php echo $data->nim; ?>"> Edit </a></td>
</tr>
<?php
$no++;
endforeach;
?>
</table>
<?php
}
?>

2. Buka c_mhs.php kemudian kita tambahkan fungsi update_data pada baris ke 19-26 sehingga menjadi seperti ini :

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
Class C_mhs extends CI_Controller { 
    function __construct(){  
        parent::__construct();  
  $this->load->model('m_mhs');
  $this->load->helper(array('url','form'));
    }
 function index(){
  $data['hasil'] = $this->m_mhs->getall();
  $this->load->view('v_mhs', $data);
 }
 function tambah_data(){
  if($this->input->post('submit')){
   $this->m_mhs->tambah();
   redirect('c_mhs');
  }
  $this->load->view('tambah_mhs');
 }
 function update_data($id_nim){
  if($this->input->post('submit')){
   $this->m_mhs->update($id_nim);
   redirect('c_mhs');
  }
  $data['hasil']=$this->m_mhs->getById($id_nim);
  $this->load->view('update_mhs',$data);
 }
}

3. Buka m_mhs.php kemudian kita tambahkan dua fungsi yaitu fungsi update pada baris ke 24-35 dan fungsi getById pada baris 26-28, oiyaa jika yang kemaren nim nya yang belum di buat primary key sekarang di ubah dulu tambahkan primary key pada field nim, sehingga m_mhs.php menjadi seperti ini :

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
class M_mhs extends CI_Model{  
 function getall(){
  $ambil_data = $this->db->get('mhs');//mengambil tabel mhs
  //jika data lebih dari 0
  if ($ambil_data->num_rows() > 0 ){
   foreach ($ambil_data->result() as $data){
    $hasil[] = $data;
   }
   return $hasil;
  }
 }
 function tambah(){
  $nim = $this->input->post('nim');  //input nim
  $nama  = $this->input->post('nama'); //input nama
  $alamat = $this->input->post('alamat'); //input alamat
  $data = array (
   'nim' => $nim,  //input kedalam field nim
   'nama'  => $nama, //input kedalam field nama
   'alamat'=> $alamat //input kedalam field alamat
  ); 
  $this->db->insert('mhs',$data);//insert data di tabel mhs
 }
 function update($id_nim){ //update data berdasarkan nim
  $nim=$this->input->post('nim');   //input nim baru
  $nama=$this->input->post('nama');  //input nama baru
  $alamat=$this->input->post('alamat');//input alamat baru
  $data=array(
     'nim'=>$nim,  //inputkan nim baru kedalam field nim
     'nama'=>$nama, //inputkan nama baru kedalam field nama
     'alamat'=>$alamat //inputkan alamat baru kedalam field alamat
  );
  $this->db->where('nim',$id_nim);
  $this->db->update('mhs',$data); //update data mahasiswa
 }
 function getById($id_nim){ //mengambil data berdasarkan id (primary key)
  return $this->db->get_where('mhs',array('nim'=>$id_nim))->row();
 }
}
4. Kemudian kita buat satu file lagi misal "update_mhs.php" dan simpan di folder Codeigniter/applications/views, yang berfungsi untuk menampilkan data kita yang mau di edit, lalu ketikkan code di bawah ini :

<html>
<head>
<title>Update Data Mahasiswa</title>
</head>
<body>
<h3>Edit Data</h3>
<?php echo form_open('c_mhs/update_data/'.$hasil->nim); ?>
<table>
<tr>
 <td>Nim</td>
 <td><?php echo form_input('nim',$hasil->nim); ?></td>
</tr>
<tr>
 <td>Nama</td>
 <td><?php echo form_input('nama',$hasil->nama); ?></td>
</tr>
<tr>
 <td>Alamat</td>
 <td><?php echo form_input('alamat',$hasil->alamat); ?></td>
</tr>
<tr>
 <td></td>
 <td><?php echo form_submit('submit','Update'); ?></td>
</tr>
</table>
<?php echo form_close(); ?>
</body>
</html>

5. Sekarang tinggal kita coba, click Edit pada kolom Aksi data No ke 3 sehingga jika benar akan tampil seperti ini :
kemudian kita coba ganti datanya dengan "Nim : 10651099" dan "Nama : Dahlan Muhammad" dan "Alamat : Palembang" maka datanya akan berganti menjadi data yang kita inputkan tadi, seperti ini:

Alhamdulilah selesai dan berhasil, jika yang masih bingung dengan tutorial di atas silahkan coment dibawah :-) dan sourcecode lengkapnya bisa di download disini

9 komentar:

  1. thank's tutornya....
    mas saya mau tanya,,,saya lagi bikin web CI buat tugas skolah...didalamnya ada crud file/gambar,,,nahh untuk insert dan delete nya sudah bisa tapi bagaimana dengan updatenya ,,,sepertinya berbeda dengan form_input yaa,,,,,semoga direspon,,,thank's.....

    BalasHapus
  2. Iya gan sama2 gan..
    Coba agan download contoh web e-commerce di sini gan:
    http://catatan-masgatot.blogspot.com/2012/05/contoh-web-e-commerce-menggunakan.html
    disitu lengkap gan, tpi sya juga belm nyoba belm sempat :)

    BalasHapus
  3. Ka saya tanya dong, saya lagi Bikin web CI, trus saya bikin fungsi ’tambah’ Buat simpen data tapi fungsi nya gak mau jalan, tetep gak bisa ngesave, gimana ya caranya? Makasih sebelumNya...

    BalasHapus
  4. Tutorial diatas udah dpraktikin blm gan? udah d teliti sama kah? tutorial diatas hanya contoh sederhana kalo udah paham consepnya insya'allah paham juga kedepannya..
    Terus itu gk bisanya insertny dmn kan ada error ny dibaris brapa gt?
    Terimakasih gan udah mampir di goresan ane

    BalasHapus
  5. klau editnya langsung pada desain "input" pada view ada nggak min...??/
    saya da kendala disana..
    update nya ada sebagain field yang nggak jalan...terutama dalam penggabungan beberapa tabel...mkasih min...

    BalasHapus
  6. Kalo CI sih setau ane ya terpisah2 gt gan (tersetruktur)..
    Kalo masalah fieldnya gk jalan, mungkin nampilinnya (select) gan yg blum bener kemungkinan lo tp, kalo datanya udah nampil d form editnya kan kemungkinan bisa di edit gan..
    Terimakasih gan atas kunjungannya

    BalasHapus
  7. bagaimana kalau table database nya lbih dari satu??

    BalasHapus
  8. Makasih banyak yaaa sangat membantu ��

    BalasHapus