Sepertiny membuat program sederhana untuk memanipulasi database ( insert,update,delete,select) merupakan aplikasi yng sangat penting dan fundamental. Pada postingan sebelumnya CodeIgniter 3# Contoh Aplikasi Manipulasi Database (insert,update,delete) aku sudah membahas ini, tpi waktu itu masih CodeIgniter versi 1.7, jdi banyak pembaca yang bingung/ mendapatkan error ketika di coba pada CodeIgniter versi 2.x. Oleh karena itu pada kesempatan kali ini aku mencoba update dari postingan sebelumnya di atas. Semoga bisa bermanfaat bagi rekan2 semua.. hehe.. Langsung aja yak !
Source Code Manipulasi Database CodeIgniter (814)
Note : Disini langsung ditampilkan source code masing2 file, tidak akan diberikan penjelasan ulang, karena pada prinsipnya sama dengan postingan sebelumnya.
Model MPegawai
application/models/mpegawai.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MPegawai extends CI_Model{
var $table = 'pegawai';
function _construct(){
parent::_construct();
}
//fungsi untuk mendapatkan pegawai berdasarkan id
function getPegawai($id){
$data = array();
$this->db->where('id',$id);
$this->db->limit(1);
$query = $this->db->get($this->table);
if($query->num_rows() > 0)
{
$data = $query->row_array();
}
return $data;
}
//fungsi untuk mendapatkan semua data pegawai
function getAllPegawai(){
$this->db->order_by('nama','asc');
$query = $this->db->get($this->table);
if($query->num_rows() > 0)
{
return $query->result_array();
}
}
//fungsi untuk menambah data pegawai ke alam tabel dari form isian
function addPegawai(){
$data = array(
'nip' => $this->input->post('nip'),
'nama' => $this->input->post('nama'),
'pekerjaan' => $this->input->post('pekerjaan'),
'alamat' => $this->input->post('alamat')
);
$this->db->insert($this->table,$data);
}
//fungsi untuk mengedit data pegawai berdasarkan id
function editPegawai($id){
$data = array(
'nip' => $this->input->post('nip'),
'nama' => $this->input->post('nama'),
'pekerjaan' => $this->input->post('pekerjaan'),
'alamat' => $this->input->post('alamat')
);
$this->db->where('id',$id);
$this->db->update($this->table,$data);
}
//fungsi untuk menghapus data pegawai berdasarkan id pegawai
function deletePegawai($id){
$this->db->where('id',$id);
$this->db->delete($this->table);
}
}
Controller pegawai
application/controllers/pegawai.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Pegawai extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('MPegawai');
}
public function index(){
$data['title'] = "Data Pegawai";
$data['pegawai']=$this->MPegawai->getAllPegawai();
$this->load->view('pegawai_home',$data);
}
function add(){
$this->form_validation->set_rules('nip','NIP','required');
$this->form_validation->set_rules('nama','nama','required');
if($this->form_validation->run() == TRUE){
$this->MPegawai->addPegawai();
$this->session->set_flashdata('message','Berhasil menambah data pegawai');
redirect('pegawai','refresh');
}
$data['title'] = "Tambah Pegawai Data";
$this->load->view('pegawai_add', $data);
}
function edit($id = null){
if($id == null){
$id = $this->input->post('id');
}
$this->form_validation->set_rules('nip','NIP','required');
$this->form_validation->set_rules('nama','nama','required');
if($this->form_validation->run() == TRUE){
$this->MPegawai->editPegawai($id);
$this->session->set_flashdata('message','Data pegawai berhasil diedit');
redirect('pegawai','refresh');
}
$data['title'] = "Edit Data";
$data['pegawai'] = $this->MPegawai->getPegawai($id);
$this->load->view('pegawai_edit',$data);
}
function delete($id){
if(!empty($id)){
$this->MPegawai->deletePegawai($id);
$this->session->set_flashdata('message','Pegawai Data has been DELETE !');
redirect('pegawai/index','refresh');
}
}
}
View
application/views/pegawai_home.php
<h2><?php echo $title;?></h2>
<p><a href="<?php echo base_url()?>index.php/pegawai/add"> Add</a></p>
<?php
if($this->session->flashdata('message')){
echo "<p><i>".$this->session->flashdata('message')."</i></p>";
}
?>
<table width="450" border="1">
<tr>
<td width="27">NIP</td>
<td width="99">Nama</td>
<td width="101">Pekerajaan</td>
<td width="91">Alamat</td>
<td width="200">Aksi</td>
</tr>
<?php
if(!empty($pegawai)){
foreach($pegawai as $peg){
?>
<tr>
<td><?php echo $peg['nip'];?></td>
<td><?php echo $peg['nama'];?></td>
<td><?php echo $peg['pekerjaan'];?></td>
<td><?php echo $peg['alamat'];?></td>
<td>
<a href="<?=base_url()?>index.php/pegawai/edit/<?php echo $peg['id'];?>">Edit</a> |
<a href="<?=base_url()?>index.php/pegawai/delete/<?php echo $peg['id'];?>" onclick="return confirm('Anda yakin akan menghapus data?')">Delete</a>
</td>
</tr>
<?php
}
}
?>
<tr>
<td colspan="4">Total</td>
<td><?php echo count($pegawai);?></td>
</tr>
</table>
<p> </p>
application/views/pegawai_add.php
<h2><?php echo $title;?></h2>
<form name="form1" id="form1" action="<?=base_url()?>index.php/pegawai/add" method="post">
<?php
if($this->session->flashdata('message')){
echo "<i>".$this->session->flashdata('message')."</i>";
}
echo validation_errors();
?>
<table width="400" border="1">
<tr>
<td colspan="2"><div align="center"><strong>Tambah data Pegawai</strong></div></td>
</tr>
<tr>
<td>NIP</td>
<td><input name="nip" type="text" id="nip" value="<?php echo set_value('nip');?>"></td>
</tr>
<tr>
<td>Name</td>
<td><input name="nama" type="text" id="nama" value="<?php echo set_value('nama');?>"></td>
</tr>
<tr>
<td>Pekerajaan</td>
<td><input name="pekerjaan" type="text" id="pekerjaan" value="<?php echo set_value('pekerjaan');?>"></td>
</tr>
<tr>
<td>Alamat</td>
<td><input name="alamat" type="text" id="alamat" value="<?php echo set_value('alamat');?>"></td>
</tr>
<tr>
<td> </td>
<td><input name="Add" type="submit" id="add" value="Submit"></td>
</tr>
<tr>
<td> </td>
<td><a href="<?php echo base_url()?>index.php/pegawai">Home>> </a></td>
</tr>
</table>
</form>
application/views/pegawai_edit.php
<h2><?php echo $title;?></h2>
<form id="form1" action="<?=base_url()?>index.php/pegawai/edit" method="post" name="form1">
<?php
if($this->session->flashdata('message')){
echo "<i>".$this->session->flashdata('message')."</i>";
}
echo validation_errors();
?>
<?php echo form_hidden('id',$pegawai['id']);?>
<table width="400" border="1">
<tr>
<td colspan="2"><div align="center"><strong>Edit Data Pegawai</strong></div></td>
</tr>
<tr>
<td>NIP</td>
<td><input name="nip" type="text" id="nip" value="<?php echo set_value('nip',isset($pegawai['nip'])?$pegawai['nip'] :'');?>"></td>
</tr>
<tr>
<td>Name</td>
<td><input name="nama" type="text" id="nama" value="<?php echo set_value('nama',isset($pegawai['nama'])?$pegawai['nama'] :'');?>"></td>
</tr>
<tr>
<td>Pekerajaan</td>
<td><input name="pekerjaan" type="text" id="pekerjaan" value="<?php echo set_value('pekerjaan',isset($pegawai['pekerjaan'])?$pegawai['pekerjaan'] :'');?>"></td>
</tr>
<tr>
<td>Alamat</td>
<td><input name="alamat" type="text" id="alamat" value="<?php echo set_value('alamat',isset($pegawai['alamat'])?$pegawai['alamat'] :'');?>"></td>
</tr>
<tr>
<td> </td>
<td><input name="Add" type="submit" id="add" value="Submit"></td>
</tr>
<tr>
<td> </td>
<td><a href="<?php echo base_url()?>index.php/pegawai">Home>> </a></td>
</tr>
</table>
</form>
Source Code Manipulasi Database CodeIgniter (814)