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
3 komentar