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