Sebelum berangkat Kuliah, ehhh maklum mahasiswa baru ^_^ jadi bangun agak ke pagian ( biasa tidur pagi ). yah hari ini awal masuk kuliah Magister Komputer , tapi katanya cuma belajar Matrikulasi ( ngk tau belajar apaan tu ). yah karena iseng2 bikin Crud dengan CodeIgniter + Bootstrap ternyata keren juga ( muji karya sendiri ).
berikut adalah penampakannya :disini saya cuma buat controllers dengan code sebagai berikut :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Crud extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('crud_model');
}
function index()
{
ini_set('error_reporting', E_STRICT);
$data['biodata'] ="";
$data['view_biodata'] = $this->crud_model->read_data();
$this->load->view('crud_view', $data);
}
function edit()
{
$code = $this->input->post('code');
if (!empty($code)) $kode = $code;
else $kode = $this->security->xss_clean($this->uri->segment(3));
$result = $this->crud_model->get_data($kode);
if ($result == null) redirect('crud');
else $data['biodata'] = $result;
$data['view_biodata'] = $this->crud_model->read_data();
$this->load->view('crud_view', $data);
}
function delete()
{
$kode = $this->security->xss_clean($this->uri->segment(3));
$result = $this->crud_model->get_data($kode);
if ($result == null) {
redirect('crud');
} else {
$delete = $this->crud_model->delete_data($kode);
if ($delete) $this->session->set_flashdata('message', 'Data deleted!');
else $this->session->set_flashdata('message', 'Failed to delete data!');
redirect('crud');
}
}
function create()
{
$this->form_validation->set_error_delimiters('<div id="error">', '</div>');
$this->form_validation->set_rules('code', 'Identifier', 'trim|is_natural_no_zero|xss_clean');
$this->form_validation->set_rules('nama', 'Nama', 'trim|required|xss_clean');
$this->form_validation->set_rules('panggilan', 'Panggilan', 'trim|required|xss_clean');
$this->form_validation->set_rules('email', 'email', 'trim|required|valid_email|is_unique[users.email]|xss_clean');
$this->form_validation->set_rules('situs', 'Situs', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE){
$this->index();
} else {
$data = array(
'nama' => $this->input->post('nama'),
'panggilan' => $this->input->post('panggilan'),
'email' => $this->input->post('email'),
'situs' => $this->input->post('situs') );
$create = $this->crud_model->create_data($data);
if ($create) $this->session->set_flashdata('message', 'Data berhasil disimpan!');
else $this->session->set_flashdata('message', 'Data gagal disimpan!');
redirect('crud');
}
}
function update()
{
$this->form_validation->set_error_delimiters('<div id="error">', '</div>');
$this->form_validation->set_rules('code', 'Identifier', 'trim|is_natural_no_zero|xss_clean');
$this->form_validation->set_rules('nama', 'Nama', 'trim|required|xss_clean');
$this->form_validation->set_rules('panggilan', 'Panggilan', 'trim|required|xss_clean');
$this->form_validation->set_rules('email', 'email', 'trim|required|valid_email|is_unique[users.email]|xss_clean');
$this->form_validation->set_rules('situs', 'Situs', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE){
$this->edit();
} else {
$code = $this->input->post('code');
$data = array(
'nama' => $this->input->post('nama'),
'panggilan' => $this->input->post('panggilan'),
'email' => $this->input->post('email'),
'situs' => $this->input->post('situs') );
$update = $this->crud_model->update_data($code,$data);
if ($update) $this->session->set_flashdata('message', 'Data berhasil dirubah!');
else $this->session->set_flashdata('message', 'Data gagal dirubah!');
redirect('crud');
}
}
}
disini saya menggunakan form_validation untuk melakukan jika ada item yang kosong maka akan diberikan pesan warning. untuk lebih lanjut soal form_validation ini silahkan baca saja disini : SINI
untuk model nya saya buat simpel saja, codenya adalah sebagai berikut ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');dan ngk lupa untuk viewnya codenya adalah :
class Crud_model extends CI_Model {
private $table_name;
public function __construct()
{
parent::__construct();
$this->table_name = 'biodata';
}
function create_data($data)
{
$this->db->insert($this->table_name, $data);
if($this->db->affected_rows() > 0){
return true;
} else{
return false;
}
}
function read_data()
{
$sql = $this->db->get($this->table_name);
if($sql->num_rows() > 0){ foreach($sql->result() as $row){
$data[] = $row;
} return $data;
} else {
return null;
}
}
function update_data($kode,$data)
{
$this->db->where('id_biodata', $kode);
$this->db->update($this->table_name, $data);
if($this->db->affected_rows() > 0){
return true;
}
else{
return false;
}
}
function delete_data($kode)
{
$this->db->where('id_biodata', $kode);
$this->db->delete($this->table_name);
if($this->db->affected_rows() > 0){
return true;
}
else{
return false;
} }
function get_data($kode)
{
$this->db->where('id_biodata', $kode);
$query = $this->db->get($this->table_name);
if($query->num_rows() > 0){
return $query->row();
}
else{
return null;
}
} }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">Karena waktu mau kuliah mendesak ngk sempat jelasinnya secara keseluruhan, kalau ada pertanyaan silahkan komen. semoga bermanfaat.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<div class="header">
<link rel="stylesheet" href="<?php echo base_url();?>berkas/css/bootstrap.css" type="text/css" />
<script type="text/javascript" src="<?php echo base_url();?>berkas/js/bootstrap.js"></script>
</head>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<a class="brand" href="<?php echo base_url(); ?>">Contoh Aplikasi CRUD pada CodeIgniter + BootStrap || Aplikasi Biodata</a>
</div>
</div>
<div class="well">
<div class="row">
<div class="span">
</div>
</div>
</div>
<body>
<div class="container">
<?php
if (empty($biodata)) {
$biodata->nama = '';
$biodata->panggilan = '';
$biodata->email = ''; $biodata->situs = ''; $type = 'create'; } else {
$type = 'update';
}
?>
<div id="container">
<span class="label label-info"><?php echo $this->session->flashdata('message'); ?></span>
<div id="form">
<?php
echo form_open('crud/'.$type);
echo form_hidden('code',$biodata->id_biodata);
?>
<div class="control-group">
<span class="span2">Nama Lengkap</span>
<?php echo form_input(array('name'=>'nama','maxlength'=>50,'value'=>$biodata->nama,'placeholder'=>'Contoh : Harry'));?>
<span class="label label-important"><?php echo form_error('nama'); ?></span>
</div>
<div class="control-group">
<span class="span2">Nama Panggilan</span>
<?php echo form_input(array('name'=>'panggilan','value'=>$biodata->panggilan,'placeholder'=>'Contoh : H4nk'));?>
<span class="label label-important"><?php echo form_error('panggilan'); ?></span>
</div>
<div class="control-group">
<span class="span2">Email</span>
<?php echo form_input(array('name'=>'email','type'=>'email','value'=>$biodata->email,'placeholder'=>'Contoh : XmoenseN@Gmail.com'));?>
<span class="label label-important"><?php echo form_error('email'); ?></span>
</div>
<div class="control-group">
<span class="span2">Situs / BLog</span>
<?php echo form_input(array('name'=>'situs','value'=>$biodata->situs,'placeholder'=>'contoh http://h4nk.blogspot.com'));?>
<span class="label label-important"><?php echo form_error('situs'); ?></span>
</div>
<div class="control-group">
<span class="span2"> </span>
<?php echo form_submit(array('name'=>'submit','class'=>'btn btn-primary','id'=>'submit','value'=>'Submit'));?>
<?php if ($type=='update') { ?>
<input type="button" id="button" class="btn btn-primary" value="Cancel" onclick="window.location.href='<?=site_url('crud');?>'"/>
<?php } ?>
</div>
<?php echo form_close(); ?>
</div>
<div id="table">
<table class="table table-bordered" align="center">
<tr class="info">
<td class="controls" id="no">No</td>
<td class="controls" id="nama" align="center">Nama Lengkap</td>
<td class="controls" id="panggilan">Nama Panggilan</td>
<td class="controls" id="email">Email</td>
<td class="controls" id="situs">Situs / Blog</td>
<td class="controls" id="aksi">Aksi</td>
</tr>
<?php
if ( !empty($view_biodata) ) {
$no = 1;
foreach ($view_biodata as $row) { ?>
<tr id="row">
<td id="no"><?php echo $no;?></td>
<td id="nama"><?php echo $row->nama;?></td>
<td id="panggilan"><?php echo $row->panggilan;?></td>
<td id="email"><?php echo $row->email;?></td>
<td id="situs"><a href="<?php echo $row->situs;?>"><?php echo $row->situs;?></a></td>
<td id="action"> <a class="btn btn-warning" href="<?php echo site_url('crud/edit/'.$row->id_biodata );?>">Edit</a> | <a class="btn btn-danger"href="<?php echo site_url('crud/delete/'.$row->id_biodata );?>" onclick="return confirm('Are you sure?');">Delete</a></td>
</tr>
<?php
$no++;
}
} else { ?>
<tr id="row">
<td colspan="6" align="center">Data Kosong</td>
</tr>
<?
}
?>
</table>
</div>
<span class="label label-warning">Halaman ini dimuat selama {elapsed_time}detik</span>
</div>
</div>
</body>
</html>
Untuk demo dapat di lihat di sini : DEMO // Karena ada gangguan pada hostingan, maka belum dapat di tampilkan
Download full
UPDATE
untuk melihat demo dapat di lihat di sini : DEMO
11 Komentar
jos gan artikelnya sangat membantu #jempol :)
BalasHapusTerima Kasih Gan ^_^
Hapusgan..sy coba script agan tp knp saat view itu link href nya tidak muncul ya? jd ga ada tampilannya sama sekali..mohon bantuannya
BalasHapusnote:script pada crud_view.php
udh aktifkan html, url nya ?
Hapusoke gan..url lupa sy aktifkan.. setelah sy aktifkan cuma muncul "contoh aplikasi crud........" tapi formnya tidak muncul gan.. sy liat di source code pada browser hanya sampai
BalasHapusbody
div class="container"
div id="container"
span class="label label-info"
(sy hilangkan tanda <> krn tidak bisa masuk ke komentar>
selanjutnya tidak ada.. sy harus gmn ya? mhn bantuannya gan..terimakasih
aktifkan lib html nya juga
HapusIjin sedot & share y om...
BalasHapusmoga manfaat tuk kita s'mua ;-D
Bro, kalau mau ngesave type date gimana ya? trus ada datepickernya
BalasHapusThanks
save data date sama saja mas ngk ada bedanya dengan data text atau int. untuk datepicker sebaiknya gunakan saja jquery http://jqueryui.com/datepicker/
Hapusnah, berarti di controllernya tinggal ditambahkan
Hapus$this->form_validation->set_rules('tanggal', 'Tanggal', 'trim|required|xss_clean');
trs di viewnya yg bingung mas
Gan bisa ngga liat coding aktifkan lib html..soalnya masih katro
BalasHapusBerikan Komentar yang bermanfaat dan sehat.