Hmm, mari kita lanjut setelah sebelumnya kita telah mengetahui cara instalasi dan sedikit konfigurasi standar framework codeigniter 2. Pada postingan kali ini gw akan coba bikin CRUD (create, read, update, dan delete) menggunakan codeigniter, semoga dapat mudah dimengerti :)
okay, kita langsung saja buat databasenya terlebih dahulu. Disini gw bikin nama databasenya db_siswa.
Lalu kita buat sedikit konfigurasi pada beberapa file yang berada di folder config (application/config). Berikut beberapa file yang kita ubah:
file database.php
Selanjutnya kita membuat file dengan nama siswa_m.php dan simpan di folder models (application/models), lalu masukkan script dibawah ini:
Buat file dengan nama siswa.php dan simpan di folder controllers (application/controllers), lalu masukkan script dibawah ini:
Terakhir kita membuat 2 file view dengan nama index.php dan form_siswa.php di folder view, dan berikut isi dari file tersebut:
index.php
Berikut tampilannya
Mudah bukan.. selebihnya tinggal dikembangkan sesuai kebutuhkan, nanti kita lanjut lagi yaa :). Silahkan download source code nya disini.
Note:
Read more
okay, kita langsung saja buat databasenya terlebih dahulu. Disini gw bikin nama databasenya db_siswa.
-- Database: 'db_siswa' -- -------------------------------------------------------- -- Struktur dari tabel 'tb_siswa' CREATE TABLE IF NOT EXISTS 'tb_siswa' ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(30) NOT NULL, `alamat` varchar(50) NOT NULL, `telp` varchar(13) NOT NULL, PRIMARY KEY ('id') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; -- Dumping data untuk tabel 'tb_siswa' INSERT INTO 'tb_siswa' ('id', 'nama', 'alamat', 'telp') VALUES (4, 'Matley', 'Bogor', '083899999999'), (5, 'Mamat', 'Jakarta', '089899128918');
Lalu kita buat sedikit konfigurasi pada beberapa file yang berada di folder config (application/config). Berikut beberapa file yang kita ubah:
file database.php
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'db_siswa'; $db['default']['dbdriver'] = 'mysql';file autoload.php
$autoload['libraries'] = array('database'); $autoload['helper'] = array('url');file config.php
$config['base_url'] = 'http://localhost/posting/crud';file routes.php
$route['default_controller'] = "siswa";
Selanjutnya kita membuat file dengan nama siswa_m.php dan simpan di folder models (application/models), lalu masukkan script dibawah ini:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Siswa_m extends CI_Model{ function __construct(){ parent::__construct(); } function get_records(){ $this->db->select('*'); $this->db->from('tb_siswa'); $query = $this->db->get(); return $query; } function insert($data){ $query = $this->db->insert('tb_siswa', $data); return $query; } function update_by_id($data, $id){ $this->db->where("id = '$id'"); $query = $this->db->update('tb_siswa', $data); return $query; } function delete_by_id($id){ $query = $this->db->delete('tb_siswa', "id = '$id'"); return $query; } } /* End of file siswa_m.php */ /* Location: ./application/models/siswa_m.php */
Buat file dengan nama siswa.php dan simpan di folder controllers (application/controllers), lalu masukkan script dibawah ini:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Siswa extends CI_Controller{ function __construct(){ parent::__construct(); $this->load->model('siswa_m'); $this->load->library('form_validation'); } function index(){ $this->db->order_by('id', 'ASC'); $this->data['query'] = $this->siswa_m->get_records(); $this->load->view('index', $this->data); } function add_new(){ $this->data['is_update'] = 0; $this->load->view('form_siswa', $this->data); } function edit($id){ $this->data['query'] = $this->siswa_m->get_records("id = '$id'"); $this->data['is_update'] = 1; $this->load->view('form_siswa', $this->data); } function delete ($id){ if ($this->siswa_m->delete_by_id($id)) redirect('siswa'); } function save($is_update=0){ $data['nama'] = $this->input->post('nama', true); $data['alamat'] = $this->input->post('alamat', true); $data['telp'] = $this->input->post('telp', true); if ($is_update==0){ if ($this->siswa_m->insert($data)) redirect('siswa'); }else{ $id = $this->input->post('id'); if ($this->siswa_m->update_by_id($data, $id)) redirect('siswa'); } } } /* End of file siswa.php */ /* Location: ./application/controllers/siswa.php */
Terakhir kita membuat 2 file view dengan nama index.php dan form_siswa.php di folder view, dan berikut isi dari file tersebut:
index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>CRUD</title> </head> <body> <p align="center"><b>Tutorial CRUD</b><br /><a href="http://softphobia.blogspot.com" target="_blank">softphobia</a></p> <hr size="1" /> <div align="center"><a href="<?=site_url('siswa/add_new');?>"><span class="icon_text addnew"></span>Tambah Siswa</a></div> <table border="1" width="700" align="center" cellpadding="1" cellspacing="1"> <thead class="table-header"> <tr> <th width="10%" >No</th> <th width="30%" >Nama Siswa</th> <th width="30%" >Alamat</th> <th width="15%" >Telp</th> <th width="15%" >Action</th> </tr> </thead> <tbody> <? $no=0; foreach ($query->result_array() as $row){ $no++; $link_edit = anchor('siswa/edit/'.$row['id'], "edit"); $link_delete = anchor('siswa/delete/'.$row['id'], "delete", "onclick='return confirm(\"Apa anda yakin menghapus data ini ?\")'"); echo "<tr class='odd'> <td valign='top'><input name='id' value='$row[id]' type='hidden'>".$no."</td> <td valign='top'>".$row['nama']."</td> <td valign='top'>".$row['alamat']."</td> <td valign='top'>".$row['telp']."</td> <td style='padding:5px;' valign='top' align='right'>".$link_edit." | ".$link_delete."</td> </tr>"; } echo "</tbody>"; echo "</table>"; ?> </body> </html>form_siswa.php
<?php if (!empty($query)){ $row = $query->row_array(); }else{ $row['id'] = ''; $row['nama'] = ''; $row['alamat'] = ''; $row['telp'] = ''; } ?> <p align="center"><b>Form Siswa</b><br /></p> <hr size="1"> <form action="<?=site_url('siswa/save/'.$is_update);?>" method="post" id="form_siswa" > <? echo form_hidden('id', $row['id']); ?> <table border='0' cellspacing='0' cellpadding='0' align="center" width="460"> <tr> <td width="139" style="padding:5px;">Nama </td> <td width="10"> </td> <td width="311" style="padding:5px;"> <input name="nama" type="text" value="<?=$row['nama'];?>"></td> </tr> <tr> <td width="139" style="padding:5px;">Alamat</td> <td width="10"> </td> <td style="padding:5px;"> <input name="alamat" type="text" value="<?=$row['alamat'];?>" width="300"> </td> </tr> <tr> <td width="139" style="padding:5px;">Telp</td> <td width="10"> </td> <td style="padding:5px;"> <input name="telp" type="text" value="<?=$row['telp'];?>"> </td> </tr> <tr> <td style="padding:5px;"> </td> <td> </td> <td style="padding:5px;"><? echo form_reset('btn_reset','Reset', ""); ?> <? echo form_submit('btn_simpan','Save', ""); ?> </td> </tr> </table> </form>
Berikut tampilannya
Mudah bukan.. selebihnya tinggal dikembangkan sesuai kebutuhkan, nanti kita lanjut lagi yaa :). Silahkan download source code nya disini.
Note:
Kalo ada yang salah tolong diberitahu yaa, biar bisa cepat dikoreksi. Mohon konfirmasi juga bila ada link yang mati, maklum udah lama ga dibuka blognya .hhehe Terimakasih