Wed Dec 2019 2 years ago

Membuat Update Database di CodeIgniter PHP

codeigniter update data

Membuat Update Database di CodeIgniter PHP -  Menerusakan tutorial sebelumnya yaitu tentang membuat CRUD input data kedalam database silahkan baca : Membuat CRUD dengan CodeIgniter : Input Data ke dalam Database. Kali ini kita akan melanjtkan totorial sebelumnya kita sambung dengan membuat Update data pada framework CodeIgniter (CI). Silahkan simak tutorialnya dibawah ini.

Membuat Update Data Dengan CodeIgniter

Sebelum kita membuat edit data sebelumnya kita harus membuat form edit data dan beberapa method pada controller CRUD yang pernah kita buat pada tutorial sebelumnya yaitu Menampilkan Data dari Database di CodeIgniter 3 itu sudah ada tombol link untuk edit data dan beberapa method pada controller crud. Sekarang kita akan membuat method edit dan model untuk mengambil sebuah data yang sesuai dengan id.

 

Pertama kita buat buat method-nya pada controller edit.contoh direktori ( application/controllers/crud.php)

function edit($id){
    $where = array('id' => $id);
    $data['user'] = $this->m_data->edit_data($where,'user')->result();
    $this->load->view('v_edit',$data);
}

Lengkapnya maka akan seperti ini :


class Crud extends CI_Controller{

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

	}

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

	function tambah(){
		$this->load->view('v_input');
	}

	function tambah_aksi(){
		$nama = $this->input->post('nama');
		$alamat = $this->input->post('alamat');
		$pekerjaan = $this->input->post('pekerjaan');

		$data = array(
			'nama' => $nama,
			'alamat' => $alamat,
			'pekerjaan' => $pekerjaan
			);
		$this->m_data->input_data($data,'user');
		redirect('crud/index');
	}

	function hapus($id){
		$where = array('id' => $id);
		$this->m_data->hapus_data($where,'user');
		redirect('crud/index');
	}

	function edit($id){
		$where = array('id' => $id);
		$data['user'] = $this->m_data->edit_data($where,'user')->result();
		$this->load->view('v_edit',$data);
	}

}

Pada method di atas kita jadi idmenjadi array yang akan kita jadikan atau kita ambil sebagai parameter data yang akan kita ubahberdasrka id yang kita ambil dari data array tersebut.

Langkah selanjutnya kita buat function edit data sebuah model pada m_data.php

Silahkan copy /pastescrip di bawah ini:

function edit_data($where,$table){        
    return $this->db->get_where($table,$where);
} 

Agar bisa kita tampilakan data yang kita ambil dari sebauh array maka kita akan membuatsebuah form untuk mengedit data. Buat sebuah file dengan nama v_edit.php contoh direktori application/view/v_edit.php.

 

<!DOCTYPE html>
<html>
<head>
	<title>Membuat CRUD dengan CodeIgniter | MalasNgoding.com</title>
</head>
<body>
	<center>
		<h1>Membuat CRUD dengan CodeIgniter | MalasNgoding.com</h1>
		<h3>Edit Data</h3>
	</center>
	<?php foreach($user as $u){ ?>
	<form action="<?php echo base_url(). 'crud/update'; ?>" method="post">
		<table style="margin:20px auto;">
			<tr>
				<td>Nama</td>
				<td>
					<input type="hidden" name="id" value="<?php echo $u->id ?>">
					<input type="text" name="nama" value="<?php echo $u->nama ?>">
				</td>
			</tr>
			<tr>
				<td>Alamat</td>
				<td><input type="text" name="alamat" value="<?php echo $u->alamat ?>"></td>
			</tr>
			<tr>
				<td>Pekerjaan</td>
				<td><input type="text" name="pekerjaan" value="<?php echo $u->pekerjaan ?>"></td>
			</tr>
			<tr>
				<td></td>
				<td><input type="submit" value="Simpan"></td>
			</tr>
		</table>
	</form>	
	<?php } ?>
</body>
</html>

Pada tahap ini kita sudah berhasil membuateditdata dalam bentuk form tetapi datanya belum bisa di edit/ubah ini hanya menampilkandatanya ke dalam sebuah form. Untuk mebuat aksi update datakita akan membuat sebuah method lagi dengan nama update pada controller crud yang sesuai dengan action form edit yang berdasrkan id yang kita ambil dalam sebuah array. 

 

function update(){
	$id = $this->input->post('id');
	$nama = $this->input->post('nama');
	$alamat = $this->input->post('alamat');
	$pekerjaan = $this->input->post('pekerjaan');

	$data = array(
		'nama' => $nama,
		'alamat' => $alamat,
		'pekerjaan' => $pekerjaan
	);

	$where = array(
		'id' => $id
	);

	$this->m_data->update_data($where,$data,'user');
	redirect('crud/index');
}

Silahkan copy/paste script diatas pada file crud.php di dalam folder controller. dan yang terakhir kita akan buat sebuah fungsi lagi dengan nama update_data pada sebuah model.

copy/paste script dibawah ini kedalam file m_data.php dialah folder model.

class M_data extends CI_Model{
    function tampil_data(){
        return $this->db->get('user');
    }
    function input_data($data,$table){
        $this->db->insert($table,$data);
    }
    function hapus_data($where,$table){
        $this->db->where($where);
        $this->db->delete($table);
    }
    function edit_data($where,$table){        
        return $this->db->get_where($table,$where);
    }
    function update_data($where,$data,$table){
        $this->db->where($where);
        $this->db->update($table,$data);
    }    
} 

Selesai sudah kita membuat update data pada codeigniter. Selanjutnyakita akan coba dan hasilnya akan seperti dibawah ini.

codeigniter 

codeigniter