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.
Lihat Part lainnya :
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