Cara Membuat CRUD dengan Code Igniter dan MySQL: Hapus dan Ubah Data #4


Pada step kali ini saya akan membuat cara hapus dan ubah data pada Code Igniter. Sebelum ke step ini kalian sudah harus bisa menambahkan Data terlebih dahulu ke database dengan Code Igniter, agar ada data yang bisa di hapus dan di ubah.

Note : Postingan ini merupakan kelanjutan dari postingan sebelumnya ya, jadi kalau ada yang tidak paham bisa liat postingan sebelumnya.



Oke langsung aja.
Pertama buka kembali file controllers nya yaitu mahasiswa.php atau file controllers kalian. Dan buka file models juga m_data.php.

Tambahkan Function atau method baru berikut di file mahasiswa.php :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mahasiswa extends CI_Controller {

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

 public function index(){
  $data['mahasiswa'] = $this->m_data->tampil_data();
  $this->load->view('v_tampil',$data);
 }

 public function tambah(){
  if($this->input->post('submit')){ // Jika user mengklik tombol submit yang ada di form
       if($this->m_data->validation("save")){ // Jika validasi sukses atau hasil validasi adalah TRUE
         $this->m_data->simpandata(); // Panggil fungsi save() yang ada di m_data.php
         redirect('mahasiswa');
       }
     }    
     $this->load->view('v_tambah');
 }

 public function ubah($nim){
  if($this->input->post('submit')){
   if($this->m_data->validation('update')){
    $this->m_data->ubahdata($nim);
    redirect('mahasiswa');
   }
  }
  $data['mahasiswa'] = $this->m_data->tampil_data_ubah($nim);
  $this->load->view('v_ubah',$data);
 }

 public function hapus($nim){
    $this->m_data->hapusdata($nim);
    redirect('mahasiswa');
   }
}


Selanjutnya Tambahkan Function atau method baru berikut di file m_data.php :

<?php 
 
class M_data extends CI_Model{
 public function tampil_data(){
  return $this->db->get('mahasiswa')->result();
 }

//fungsi tambah data
 public function validation($mode){
     $this->load->library('form_validation'); // Load library form_validation untuk proses validasinya
     
     // Tambahkan if apakah $mode save atau update
     // Karena ketika update, NIM tidak harus divalidasi
     // Jadi NIM di validasi hanya ketika menambah data siswa saja
     if($mode == "save")
     $this->form_validation->set_rules('input_nim', 'NIM', 'required|numeric|max_length[8]');
     $this->form_validation->set_rules('input_nama', 'NAMA', 'required|max_length[50]');
     $this->form_validation->set_rules('input_jeniskelamin', 'Jenis Kelamin', 'required');
     $this->form_validation->set_rules('input_alamat', 'Alamat', 'required');
       
     if($this->form_validation->run()) // Jika validasi benar
       return TRUE; // Maka kembalikan hasilnya dengan TRUE
     else // Jika ada data yang tidak sesuai validasi
       return FALSE; // Maka kembalikan hasilnya dengan FALSE
 }

  // Fungsi untuk melakukan simpan data ke tabel siswa
   public function simpandata(){
    $data = array(
      "nim" => $this->input->post('input_nim'),
      "nama" => $this->input->post('input_nama'),
      "jeniskelamin" => $this->input->post('input_jeniskelamin'),
      "alamat" => $this->input->post('input_alamat')
    );
    
    $this->db->insert('mahasiswa', $data); // Untuk mengeksekusi perintah insert data
   }
//end fungsi tambah data

//fungsi ubah data
   function tampil_data_ubah($nim){    
    $this->db->where('nim', $nim);
     return $this->db->get('mahasiswa')->row();
   }

   public function ubahdata($nim){
    $data = array(
       "nama" => $this->input->post('input_nama'),
       "jeniskelamin" => $this->input->post('input_jeniskelamin'),
       "alamat" => $this->input->post('input_alamat')
     );
     
     $this->db->where('nim', $nim);
     $this->db->update('mahasiswa', $data);
   }
//end fungsi ubah data   

//fungsi hapus data
   public function hapusdata($nim){
    $this->db->where('nim', $nim);
    $this->db->delete('mahasiswa'); 
   }
//end fungsi hapus data   

}

Setelah itu tambahkan file v_ubah.php pada folder views, untuk tempat kita mengubah data, dan masukan coding seperti ini :

 <!DOCTYPE html>
<html>
 <head>
  <title>Ubah Data <?php echo $mahasiswa->nama;?></title>
 </head>

  <body>
 <center>
  <h1>Latihan CRUD with CI</h1>
  <h3>Ubah Data</h3>
 </center>
    <?php echo form_open("mahasiswa/ubah/".$mahasiswa->nim); ?>
      <table align="center">
        <tr>
           <td>NIM</td>
           <td><input type="text" name="input_nim" value="<?php echo set_value('input_nim',$mahasiswa->nim);?>" readonly></td>
        </tr>
        <tr>
           <td>Nama</td>
           <td><input type="text" name="input_nama" value="<?php echo set_value('input_nama',$mahasiswa->nama); ?>"></td>
        </tr>        
        <tr>
           <td>Jenis Kelamin</td>
           <td>
            <input type="radio" name="input_jeniskelamin" value="Laki-laki" <?php echo set_radio('jeniskelamin', 'Laki-laki', ($mahasiswa->jeniskelamin == "Laki-laki")? true : false); ?>> Laki-laki
            <input type="radio" name="input_jeniskelamin" value="Perempuan" <?php echo set_radio('jeniskelamin', 'Perempuan', ($mahasiswa->jeniskelamin == "Perempuan")? true : false); ?>> Perempuan
           </td>
        </tr>
        <tr>
           <td>Alamat</td>
           <td><textarea name="input_alamat"><?php echo set_value('input_alamat', $mahasiswa->alamat); ?></textarea></td>
        </tr>
        <tr>
         <td colspan="2" align="right">
        <hr>
        <input type="submit" name="submit" value="Simpan">
        <a href="<?php echo base_url(); ?>"><input type="button" value="Batal"></a>
       </td>
        </tr>
      </table>       
    <?php echo form_close(); ?>
    <!-- Menampilkan Error jika validasi tidak valid -->
    <div style="color: red;" align="center"><?php echo validation_errors(); ?></div>
</body>
</html>   

Setelah itu coba jalankan di web browser kalian localhost/belajarci.

Berikut tabel awal mula, saya akan mengubah data 1


Saya akan mengubah namanya menjadi budiman, lalu klik simpan


Dan data 1 telah berubah namanya


Setelah itu saya akan coba menghapus data ke 2


Dan ini hasil tabel ketika saya menghapus data ke 2


Sekian dari postingan ini, Semoga Bermanfaat. Apabila ada pertanyaan bisa di tanyakan di kolom komentar.
Download Source Filenya

0 Response to "Cara Membuat CRUD dengan Code Igniter dan MySQL: Hapus dan Ubah Data #4"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel