UPDATE – CodeIgniter 3# Contoh Aplikasi Manipulasi Database (insert,update,delete)

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>&nbsp;</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>&nbsp;</td>
<td><input name="Add" type="submit" id="add" value="Submit"></td>
</tr>
<tr>
<td>&nbsp;</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>&nbsp;</td>
<td><input name="Add" type="submit" id="add" value="Submit"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="<?php echo base_url()?>index.php/pegawai">Home>> </a></td>
</tr>
</table>

</form>


Source Code Manipulasi Database CodeIgniter (814)

  • Haimizzu

    mastah sya mau tanya,  var $table itu maksudnya untuk ap ya???bedanya sama langsung model(‘    ‘) ap ya??nwn .

    • gieart

      oh sama aja.. itu cuma utk mendeklarasikan tabel yng dipake di model itu saja. jdi misal ntar ada perubahan nama tabel, kita cukup mengganti satu kali, tidak perlu mengganti satu persatu di fungsinya.. hehe

    • gieart

       ohh itu maksud sya untuk mempermudah jika suatu saat terjadi perubahan nama tabel saja. jdi pas ngrubah cukup di var $table sja.. tidak perlu disetiap baris program di model :)

  • http://filetheme.com/ free download theme

    nice tutor gan..
    terimakasih. menambah ilmu.

  • http://www.facebook.com/profile.php?id=100000667041371 Putra Jugga NyingNyong

    database apa mas ?

    • gieart

      database MySQL

  • Mikael The Worker

    saya pake CI versi terbaru apa pengaruh error ya? tulisannya

    (Parse error: syntax error, unexpected ‘class’ (T_CLASS) in C:wampwwwci-projectapplicationcontrollerspegawai.php on line 4).Call Stack# Time Memory Function Location1 0.0009 149048 {main}( )..index.php:02 0.0026 185368 require_once( ‘C:wampwwwci-projectsystemcoreCodeIgniter.php’ )..index.php:202.

    • Mikael The Worker

      entah salah dimana..tapi setelah saya copy paste dari file download yang anda sediakan, sekarang sudah bisa..thanks :)

      • gieart

        hahaha… selamat berkoding ria di CI :) )

Plugin from the creators of Brindes :: More at Plulz Wordpress Plugins