Tutorial Edit atau Update Data dengan Code Igniter (CRUD bagian 3)

Untuk mengikuti tutorial ini, ada baiknya Anda simak dulu tutorial saya sebelumnya Menambahkan atau Insert Data ke Database dengan Code Igniter

Sangat belum lengkap rasanya kalo cuma bisa read dan create aja, fungsi update dan delete belum ada. Ayo dah kita bikin fungsi update nya dulu.

  1. Pertama buat link untuk update dan delete di view view_mahasiswa.php.
    <?php
    if (empty($hasil)) {
    	echo "Tidak ada data mahasiswa";
    }
    else {
    ?>
    <h3> Daftar Mahasiswa </h3>
    <?php echo anchor('con_mahasiswa/tambahdata', '+ Tambah Data'); ?>
    <table>
    <tr bgcolor="FF8844">
    	<th> No </th>
    	<th> Nim </th>
    	<th> Nama </th>
    	<th> Alamat </th>
    	<th> Email </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> <?php echo $data->email; ?> </td>
    	<td> <a href="con_mahasiswa/updatedata/<?php echo $data->id; ?>"> Ubah </a> | <a href="con_mahasiswa/hapusdata/<?php echo $data->id; ?>"> Hapus </a> </td>
    
    </tr>
    <?php
    $no++;
    endforeach;
    ?>
    </table>
    <?php
    }
    ?>
    

    
    
  2. Ubah controller con_mahasiswa.php menjadi seperti ini.
    <?php
    Class Con_mahasiswa extends Controller {
        function con_mahasiswa()
        {
            parent::Controller();
    		$this->load->model('mod_mahasiswa');
    		$this->load->helper(array('url','form'));
        }
    	function index() {
    		$data['hasil'] = $this->mod_mahasiswa->getall();
    		$this->load->view('view_mahasiswa', $data);
    	}
    
    	function tambahdata() {
    		if($this->input->post('submit')){
    			$this->mod_mahasiswa->tambah();
    			redirect('con_mahasiswa');
    		}
    		$this->load->view('tambah_mahasiswa');
    	}
    
    	function updatedata($id) {
    		if($this->input->post('submit')){
    			$this->mod_mahasiswa->update($id);
    			redirect('con_mahasiswa');
    		}
    		$data['hasil'] = $this->mod_mahasiswa->getById($id);
    		$this->load->view('update_mahasiswa', $data);
    
    	}
    }
    ?>
    

    Jika submit terjadi, maka jalankan fungsi update pada model mod_mahasiswa sesuai dengan id yang dipilih.

  3. Ubah model mod_mahasiswa.php menjadi
    <?php
    class Mod_mahasiswa extends Model {
    	function getall() {
    		$ambildata = $this->db->get('tb_mahasiswa');
    		//jika data ada (lebih dari 0)
    		if ($ambildata->num_rows() > 0 ) {
    			foreach ($ambildata->result() as $data) {
    				$hasil[] = $data;
    			}
    			return $hasil;
    		}
    	}
    
    	function tambah() {
    		$nim = $this->input->post('nim');
    		$nama  = $this->input->post('nama');
    		$alamat = $this->input->post('alamat');
    		$email = $this->input->post('email');
    		$data = array (
    			'nim' => $nim,
    			'nama'  => $nama,
    			'alamat'=> $alamat,
    			'email' => $email
    		);
    		$this->db->insert('tb_mahasiswa',$data);
    	}
    
    	function update($id) {
    		$nim = $this->input->post('nim');
    		$nama  = $this->input->post('nama');
    		$alamat = $this->input->post('alamat');
    		$email = $this->input->post('email');
    		$data = array (
    			'nim' => $nim,
    			'nama'  => $nama,
    			'alamat'=> $alamat,
    			'email' => $email
    		);
    		$this->db->where('id', $id);
    		$this->db->update('tb_mahasiswa', $data);
    	}
    
    	function getById($id) {
    		return $this->db->get_where('tb_mahasiswa', array('id' => $id))->row();
    	}
    }
    ?>
    

    baris 29-32, menangkap data inputan
    baris 33-38, data disimpan dalam array
    baris 39-40, sintax update data dari tb_mahasiswa berdasarkan id yang telah dipilih.
    baris 43, fungsi untuk mendapatkan data berdasarkan id yang telah dipilih

  4. Bikin view baru dan beri nama update_mahasiswa. Copi code berikut
    <html>
    <head>
        <title> Edit Data Mahasiswa</title>
    </head>
    <body>
    <h3> Edit Data Mahasiswa</h3>
    <?php echo form_open('con_mahasiswa/updatedata/'.$hasil->id); ?>
    
    <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> Email </td>
        <td> <?php echo form_input('email', $hasil->email); ?> </td>
    </tr>
    <tr>
    	<td> </td>
        <td> <?php echo form_submit('submit', 'Ubah'); ?> </td>
    </tr>
    </table>
    <?php echo form_close(); ?>
    
    </body>
    </html>
    
  5. Dan sekarang coba lakukan edit data http://localhost/mycodeigniter/index.php/con_mahasiswa
2 comments
  1. Gie said:

    Tutorial nya bagus nih, aq udah nyoba dari CRUD bagian 1 sampai 3, makasih ya ?
    oiya klo punya tutorial pdf CI lengkap, tolong kirimin ke email aq ya anggietriejast@gmail.com ..
    Makasih sebelumnya😀

    • Tixtux said:

      heu gak ada😀
      lama ga pegang CI juga nih

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: