Selamat datang di blog Internet Club, kali ini kita akan sedikit sharing lagi nih tentang Codeigniter, sekarang kita akan mencoba untuk membuat CRUD sederhana dengan Codeigniter. Sebelumnya buat kalian yang belum tau Codeigniter itu apa dan cara gunain nya gimana, coba kalian lihat artikel Cara menggunakan Framework CodeIgniter.
Sebelum kalian membuat CRUD di Codeigniter, kalian harus mengenal konsep MVC di codeigniter dlu(Belajar MVC pada CodeIgniter).
Langsung saja nih langsung ke materinya..
1. Silahkan kalian buka Folder Codeigniter kalian yang di htdocs. Setting config, autoload, database di folder config.
Config
Autoload
Database
2. Buat database dengan nama belajarci di mysql kalian, contoh seperti berikut
Silahkan isi datanya lewat phpmyadmin, agar nanti kelihatan hasilnya:
3. Kalian buat controller, view dan modelnya seperti berikut:
Controller (Belajar_crud.php)
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
class Belajar_crud extends CI_Controller {
public function index()
{
$data= $this->mod->GetTable(‘mahasiswa’);
$this->load->view(‘viewcrud’, array(‘data’=>$data));
}
}
Model (mod.php)
<?php
defined(‘BASEPATH’) OR exit(‘No direct script access allowed’);
class Mod extends CI_Model {
public function GetTable($tabel)
{
$data=$this->db->get($tabel);
return $data->result_array();
}
}
View (viewcrud.php)
<table border=”1″>
<tr>
<th>no</th>
<th>NIM</th>
<th>Nama</th>
<th>Falkutas</th>
<th>Strata</th>
<th>No HP</th>
</tr>
<?php
$no=1;
foreach($data as $r) {
?>
<tr>
<td><?php echo $no ?></td>
<td><?php echo $r[‘NIM’] ?></td>
<td><?php echo $r[‘Nama’] ?></td>
<td><?php echo $r[‘Fakultas’] ?></td>
<td><?php echo $r[‘Strata’] ?></td>
<td><?php echo $r[‘No_hp’] ?></td>
</tr>
<?php
$no++;
}
?>
</table>
Disini kita masih menampilkan(READ) dr tabel mahasiswa,
4. Selanjutnya kita menambahkan tombol-tombol untuk Insert,Update,Delete., buka file viewcrud.php, dan rubah menjadi spt berikut
<a href=”<?=base_url().’index.php/belajar_crud/insert’?>”>Tambah Data</a>
<table border=”1″>
<tr>
<th>no</th>
<th>NIM</th>
<th>Nama</th>
<th>Falkutas</th>
<th>Strata</th>
<th>No HP</th>
<th>Aksi</th>
</tr>
<?php
$no=1;
foreach($data as $r) {
?>
<tr>
<td><?php echo $no ?></td>
<td><?php echo $r[‘NIM’] ?></td>
<td><?php echo $r[‘Nama’] ?></td>
<td><?php echo $r[‘Fakultas’] ?></td>
<td><?php echo $r[‘Strata’] ?></td>
<td><?php echo $r[‘No_hp’] ?></td>
<td><a href=”<?=base_url().’index.php/belajar_crud/update/’.$r[‘NIM’]?>”>Ubah</a> || <a href=”<?=base_url().’index.php/belajar_crud/delete/’.$r[‘NIM’]?>”>Hapus</a></td>
</tr>
<?php
$no++;
}
?>
</table>
5.Menambahkan fungsi insertdata pada models mod.php
public function InsertData($tabel, $data) {
$res = $this->db->insert($tabel, $data);
return $res;
}
6. Selanjutnya kita buat fungsi insert di controller belajar_crud, buka controller belajar_crud.php, tambah function insert di bawah index:
public function insert()
{
//jika sudah sumbit, maka proses insert akan diproses
if(isset($_POST[‘submit’])){
//mengambil post dr form
$nim = $this->input->post(‘nim’);
$nama = $this->input->post(‘nama’);
$fakultas = $this->input->post(‘fakultas’);
$strata = $this->input->post(‘strata’);
$no_hp = $this->input->post(‘no_hp’);
$data = array(‘NIM’=>$nim, ‘Nama’=>$nama, ‘Fakultas’=>$fakultas,’Strata’=>$strata,’No_hp’=>$no_hp); //data yang akan di insert
$this->mod->InsertData(‘mahasiswa’, $data); //memasukan data melalui fungsi insertdata pad models mod.php
redirect(‘Belajar_crud’); //
}else{
$this->load->view(‘insertcrud’);
}
}
7.Membuat tampilan views baru, beri nama insertcrud.php:
<table>
<form action=”<?=base_url().’index.php/belajar_crud/insert’?>” method=”POST”>
<tr>
<td>NIM</td>
<td>:</td>
<td><input type=”text” name=”nim”></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type=”text” name=”nama”></td>
</tr>
<tr>
<td>Fakultas</td>
<td>:</td>
<td><input type=”text” name=”fakultas”></td>
</tr>
<tr>
<td>Strata</td>
<td>:</td>
<td><input type=”text” name=”strata”></td>
</tr>
<tr>
<td>No Handphone</td>
<td>:</td>
<td><input type=”text” name=”no_hp”></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type=”submit” name=”submit” value=”submit”></td>
</tr>
</form>
</table>
8.Sekarang kita membuat update, tambahkan dulu fungsi updatedata dan getByID pada models mod.php:
public function UpdateData($tabel, $data, $pk, $id) {
$this->db->where($pk,$id);
$res = $this->db->update($tabel,$data);
return $res;
}
public function getByID($tabel,$pk,$id){
$this->db->where($pk,$id);
return $this->db->get($tabel);
}
9.Menambahkan fungsi Controller nya sekrang untuk update:
public function update(){
if(isset($_POST[‘submit’])){
//mengambil post dr form
$nim = $this->input->post(‘nim’);
$nama = $this->input->post(‘nama’);
$fakultas = $this->input->post(‘fakultas’);
$strata = $this->input->post(‘strata’);
$no_hp = $this->input->post(‘no_hp’);
$data = array(‘NIM’=>$nim, ‘Nama’=>$nama, ‘Fakultas’=>$fakultas,’Strata’=>$strata,’No_hp’=>$no_hp); //data yang akan di update
$this->mod->UpdateData(‘mahasiswa’, $data,’NIM’,$nim); //mengaupdate data melalui fungsi insertdata pad models mod.php
redirect(‘Belajar_crud’); //
}else{
$id = $this->uri->segment(3); //mengambil primary key melalui link yg ketiga
$data = $this->mod->getByID(‘mahasiswa’,’NIM’,$id)->row_array(); //menselect data yg akan di update
$this->load->view(‘updatecrud’,array(‘r’=>$data)); //menampilkan views updatecrud
}
}
10.Membuat tampilan views baru, beri nama updatecrud.php:
<table>
<form action=”<?=base_url().’index.php/belajar_crud/update’?>” method=”POST”>
<tr>
<td>NIM</td>
<td>:</td>
<td><input type=”hidden” name=”nim” value=”<?=$r[‘NIM’]?>”><?=$r[‘NIM’]?></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type=”text” name=”nama” value=”<?=$r[‘Nama’]?>”></td>
</tr>
<tr>
<td>Fakultas</td>
<td>:</td>
<td><input type=”text” name=”fakultas” value=”<?=$r[‘Fakultas’]?>”></td>
</tr>
<tr>
<td>Strata</td>
<td>:</td>
<td><input type=”text” name=”strata” value=”<?=$r[‘Strata’]?>”></td>
</tr>
<tr>
<td>No Handphone</td>
<td>:</td>
<td><input type=”text” name=”no_hp” value=”<?=$r[‘No_hp’]?>”></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type=”submit” name=”submit” value=”submit”></td>
</tr>
</form>
</table>
11. Sekarang membuat hapus, tmbahkan fungsi deletedata pada models mod.php
public function DeleteData($tabel, $pk, $id) {
$this->db->where($pk,$id);
$res = $this->db->delete($tabel);
return $res;
}
12.Menambahkan fungsi delete pada controller belajar_crud.php:
public function delete(){
$id = $this->uri->segment(3); //mengambil primary key melalui link yg ketiga
$this->mod->DeleteData(‘mahasiswa’,’NIM’,$id); //menghapus data
redirect(‘Belajar_crud’); //mengalihkan ke tampbali
}
Sourcecode lengkapnya ada di: https://github.com/arifak22/belajarcrud