Insert, Update, Delete pada CodeIgniter (CI)

Posted on
CI adalah sebuah framework PHP yang berguna untuk mengatur sebuah aplikasi PHP kita semakin terstruktur dengan disediakan library standar. CI ini memiliki sistem MVC ( Model – View – Controller ) ketiga bagian itu akan digunakan, kali ini saya akan mencoba mengajak anda untuk belajar membuat form sederhana :

Pertama Download CI Terlebih dahulu  DISINI

Selanjutanya buat file controllernya , copy source dibawah ini dan simpan dengan nama biodata.php di folder controller.

<?php
Class Biodata extends Controller{
/*ini adalah konstruktor. yag digunakan untuk memberikan nilai awal pada variabel
atau untuk melakukan proses saat sebuah kelas di load. konstraktor tidak dapat mengembalikan nilai
tapi dapat mengerjakan suatu proses
*/
function biodata(){
parent::Controller();
$this->load->model(‘Bio_model’,”,TRUE);
}
/*
fungsi index sebagai fungsi default yang akan selalu dipanggil
jika pada URL tidak didefinisikan segment fungsinya
*/
function index(){
 
$data[‘data_bio’]=$this->Bio_model->tampil_data();
$this->load->view(‘header’);
$this->load->view(‘Bio_view’,$data);
$this->load->view(‘footer’);
}
/*
fungsi yang dipanggil untuk menampilkan form input
*/
function tambah(){
   $this->load->view(‘header’);
$this->load->view(‘bio_form’);
$this->load->view(‘footer’);
}
/*
fungsi untuk menyimpan data
*/
function simpan(){
$data=array(
‘noid’=>$this->input->post(‘noid’),
‘nama’=>$this->input->post(‘nama’),
’email’=>$this->input->post(’email’),
‘alamat’=>$this->input->post(‘alamat’),
‘jk’=>$this->input->post(‘jk’),
‘agama’=>$this->input->post(‘agama’)
);
$this->Bio_model->simpan_bio($data); $this->session->set_flashdata(‘message

‘,'<center>data berhasil disimpan</center>’);
redirect(‘biodata’); }
/*
fungsi untuk menghapus data
*/
function hapus($id_gb){
$this->Bio_model->hapus_bio($id_gb);
$this->session->set_flashdata(‘message’,'<center>data berhasil dihapus</center>’);
redirect(‘biodata’);
}
/*
fungsi untuk mengedit data
*/
function edit($id_gb){
$guest = $this->Bio_model->cari_data($id_gb);
$data[‘gb’][‘id_gb’] = $guest->id_gb; $data[‘gb’][‘noid’] = $guest->noid; $data[‘gb’][‘nama’] = $guest->nama; $data[‘gb’][’email’] = $guest->email;
$data[‘gb’][‘alamat’] = $guest->alamat;
$data[‘gb’][‘jk’] = $guest->jk;
$data[‘gb’][‘agama’] = $guest->agama;
$this->load->view(‘header’);
$this->load->view(‘Bio_edit’, $data);
$this->load->view(‘footer’);
}
/*
fungsi untuk mengupdate data
*/
function update(){
$id_gb=$this->input->post(‘id_gb’);
$data=array(
‘noid’=>$this->input->post(‘noid’),
‘nama’=>$this->input->post(‘nama’),
’email’=>$this->input->post(’email’),
‘alamat’=>$this->input->post(‘alamat’),
‘jk’=>$this->input->post(‘jk’),
‘agama’=>$this->input->post(‘agama’)
);
$this->Bio_model->simpan_update($id_gb,$data); $this->session->set_flashdata(‘message’,'<center>data berhasil diubah</center>’);
redirect(‘biodata’); }
}
?>

Setelah itu buat file modelnya , simpan dengan nama bio_model.php letakkan pada direktori models

<?php
Class Bio_model extends Model{
function __construct(){
parent::Model();
}
//untuk menampilkan data awal
function tampil_data(){
$data_bio=$this->db->query(“select * from biodata order by id_gb asc”);
return $data_bio;
}
//mendefinisikan nama tabel
var $table=”biodata”;
//untuk simpan data
function simpan_bio($data){
$this->db->insert($this->table,$data);
}
//untuk update data
function simpan_update($id_gb,$data){
$this->db->where(‘id_gb’, $id_gb);
$this->db->update($this->table, $data);
}
//untuk hapus data
function hapus_bio($id_gb){
$this->db->where(‘id_gb’,$id_gb);
$this->db->delete($this->table);
}
//cari data saat akan di edit
function cari_data($id_gb){
return $this->db->get_where($this->table, array(‘id_gb’ => $id_gb), 1)->row();
}
}
?>

Selanjutnya buat tampilan yang akan kita load , di bagian view pertama form inputnya :

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>Form Guestbook CI</title>
</head>
<body bgcolor=”grey”>
<div id=”container”>
<h1>Welcome to MyIdentity</h1>
<div id=”body”>
<p><center>
    <table>
    <?php
echo form_open(‘biodata/simpan’);
$noid=array(
‘name’=>’noid’,
‘size’=>’1’,
‘type’=>’text’);
$nama=array(
‘name’=>’nama’,
‘size’=>’30’,
‘type’=>’text’);
$email=array(
‘name’=>’email’,
‘size’=>’30’,
‘type’=>’text’);
$alamat=array(
‘name’=>’alamat’,
‘size’=>’30’,
‘type’=>’text’);
$pria = array(
‘name’=>’jk’,
‘id’=>’jk’,
‘value’=>’Pria’);
$wanita = array(
‘name’=>’jk’,
‘id’=>’jk’,
‘value’=>’Wanita’);
$lain = array(
‘name’=>’jk’,
‘id’=>’jk’,
‘value’=>’Lain’);
$agama = array(
‘islam’=>’Islam’,
‘kristen’=>’Kristen’,
‘katolik’=>’Katolik’,
‘hindu’=>’Hindu’,
‘budha’=>’Budha’,
‘konghucu’=>’Konghucu’,
‘lainnya’=>’Lainnya’
);
?><tr><td>No ID</td><td>:</td><td><?php echo form_input($noid); ?></td></tr><?php
?><tr><td>Nama</td><td>:</td><td><?php echo form_input($nama); ?></td></tr><?php
?><tr><td>Email</td><td>:</td><td><?php echo form_input($email); ?></td></tr><?php
?><tr><td>Alamat</td><td>:</td><td><?php echo form_input($alamat); ?></td></tr><?php
?><tr><td>Jenis Kelamin</td><td>:</td><td><?php echo form_radio($pria); ?>Pria <?php echo form_radio($wanita); ?>Wanita <?php echo form_radio($lain); ?>Lainnya</td></tr><?php
?><tr><td>Kepercayaan</td><td>:</td><td><?php echo form_dropdown(‘agama’,$agama); ?></td></tr><?php
?><tr><td></td><td>&nbsp;</td><td><?php echo form_submit(‘submit’,’Tambahkan’); ?><?php echo form_reset(‘reset’,’Clear’); ?></td></tr><?php
    echo form_close();
?>
    </table>
</center>
</p>
</div>

 Simpan dengan nama bio_form.php.

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>Form Edit Guestbook CI</title>
</head>
<body>
<div id=”container”>
<h1>Welcome to MyGuestBook</h1>
<div id=”body”>
<p><center>
<?php echo form_open(‘biodata/update’); ?>
<p>
<label for=”nis”>No ID :</label>
<input type=”text” name=”noid” size=”30″ value=”<?php echo $gb[‘noid’]; ?>” />
</p>
<p>
<label for=”nis”>Nama :</label>
<input type=”text” name=”nama” size=”30″ value=”<?php echo $gb[‘nama’]; ?>” />
</p>
<p>
<label for=”nis”>Email :</label>
<input type=”text” name=”email” size=”30″ value=”<?php echo $gb[’email’]; ?>” />
</p>
<p>
<label for=”nis”>Alamat :</label>
<input type=”text” name=”alamat” size=”30″ value=”<?php echo $gb[‘alamat’]; ?>” />
</p>
<p>
<label for=”nis”>Jenis Kelamin :</label>
<input type=”radio” name=”jk” id=”jk” value=”Pria” <?php echo $gb[‘jk’] == ‘Pria’  ? ‘checked=”checked”‘ : ”;?>/> Pria
<input type=”radio” name=”jk” id=”jk” value=”Wanita” <?php echo $gb[‘jk’] == ‘Wanita’  ? ‘checked=”checked”‘ : ”;?> /> Wanita
</p>
<p>
<label for=”nis”>Kepercayaan :</label>
<select name=”agama”>
           <?php
           // proses menampilkan pilihan jenis pekerjaan.
           // jika pekerjaan = petani, maka pada option ‘petani’ diberi label ‘selected’, demikian seterusnya
           if ($gb[‘agama’] == “islam”) echo “<option value=’islam’ selected>Islam</option>”;
           else echo “<option value=’islam’>Islam</option>”;
           if ($gb[‘agama’] == “kristen”) echo “<option value=’kristen’ selected>Kristen</option>”;
           else echo “<option value=’kristen’>Kristen</option>”;
           if ($gb[‘agama’] == “katolik”) echo “<option value=’katolik’ selected>Katolik</option>”;
           else echo “<option value=’katolik’>Katolik</option>”;
           if ($gb[‘agama’] == “hindu”) echo “<option value=’hindu’ selected>Hindu</option>”;
           else echo “<option value=’hindu’>Hindu</option>”;
 
  if ($gb[‘agama’] == “budha”) echo “<option value=’budha’ selected>Budha</option>”;
           else echo “<option value=’budha’>Budha</option>”;
 
  if ($gb[‘agama’] == “konghucu”) echo “<option value=’konghucu’ selected>Konghucu</option>”;
           else echo “<option value=’konghucu’>Konghucu</option>”;
 
  if ($gb[‘agama’] == “lainnya”) echo “<option value=’lainnya’ selected>Lainnya</option>”;
           else echo “<option value=’lainnya’>Lainnya</option>”;
           ?>
       </select>
</p>
<p>
<input type=”hidden” name=”id_gb” size=”30″ value=”<?php echo $gb[‘id_gb’]; ?>” />
<input type=”submit” name=”submit” id=”submit” value=” Update ” />
</p>
<?php echo form_close(); ?>
</center>
</p>
</div>

Simpan dengan nama file bio_edit.php 

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<title>Biodata CI</title>
</head>
<body><div id=”container”>
<h1>Welcome to MyGuestBook</h1>
<div id=”body”> <p><center>
<?php echo “<table><tr><td>”;
echo anchor(“guestbook/tambah”,”<center>Tambah Data</center>”);
    echo “</td><td>” ;
echo anchor(“biodata/tambah”,”<center>Tambah Profil</center>”);
echo “</td><td>” ;
echo anchor(“guestbook/”,”<center>Lihat Bukutamu</center>”);
echo “</td></tr></table>”;
?>
</center></p> </div>
<div id=”body”>
<p>
<?php
$flashmessage=$this->session->flashdata(‘message’);
echo ! empty($flashmessage) ? ‘<p class=”message”>’ . $flashmessage . ‘</p>’: ”;
?>
<center>
<table border=”0″>
<tr bgcolor=’grey’>
    <th>Nomor</th>
        <th>No ID</th>
<th>Nama Lengkap</th>
        <th>Email</th>
        <th>Alamat</th>
<th>Gender</th>
<th>Agama</th>
        <th>Aksi</th>
    </tr>
    <?php
$c=0;
foreach($data_bio->result() as $row){
?>
        <tr>
        <td><center><?php echo $c=$c+1; ?></center></td>
            <td><?php echo $row->noid; ?></td>
<td><?php echo $row->nama; ?></td>
            <td><?php echo mailto($row->email,$row->email);?></td>
<td><?php echo $row->alamat; ?></td>
<td><?php echo $row->jk ; ?></td>
<td><?php echo $row->agama ; ?></td>
            <td><?php echo anchor(‘biodata/hapus/’.$row->id_gb,’Hapus’,array(‘class’=> ‘delete’,’onclick’=>”return confirm(‘Anda yakin akan menghapus?’)”)); ?> | <?php echo anchor(‘biodata/edit/’.$row->id_gb,’Edit’,array(‘class’=> ‘edit’,’onclick’=>”return confirm(‘Anda yakin?’)”)); ?></td>
        </tr>
        <?php }
?>
</table>
</center>
</p>
</div>

Simpan dengan nama bio_view.php

Setelah semua file beres semua atur konfigurasi database anda di systemapplicationconfig 
config.php
database.php
Selamat Mencoba….
Gravatar Image
Suka jalan-jalan, naik sepeda, bermain code-code asal tidak suka mengkode cinta. Hubungi email : andhika.na@gmail.com jika anda butuh website untuk personal maupun bisnis.

2 thoughts on “Insert, Update, Delete pada CodeIgniter (CI)

Leave a Reply

Your email address will not be published. Required fields are marked *