Setelah kita membahas tentang codeigniter sebaiknya kita ambil sebuah project untuk memberikan contoh bagaimana penggunaan codeigniter pada kehidupan nyata. Ini adalah sebuah buku tamu sederhana menggunakan library validasi dan helper smile. anda harus mendowload terlebih dahulu smile-smile yang ada di codeigniter (karena tidak di includekan secara default)
Controller – guestbook.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Guestbook extends Controller {
function Guestbook() { parent::Controller(); $this->load->library('pagination'); $this->load->library('validation'); $this->load->model('tguestbookmodel' , 'guestbook');
}
function show() {
if ( $this->_validate_data()) { $data['nama'] = $this->input->post('nama', TRUE); $data['email'] = $this->input->post('email', TRUE); $data['komentar'] = $this->input->post('komentar', TRUE); $data['status'] = 0;
if ($this->guestbook->add($data)) $data['success']= 'Stockist sukses ditambahkan';
}
$paging_uri=2; if ($this->uri->segment($paging_uri)) $start=$this->uri->segment($paging_uri); else $start=0 ;
$limit_per_page = 10; $filter=array('status'=>'1');
$data['tguestbook_list'] = $this->guestbook->findByFilter($filter,$limit_per_page,$start);
$config['base_url'] = site_url('guestbook'); $config['total_rows'] = $this->guestbook->table_record_count; $config['per_page'] = $limit_per_page; $config['uri_segment'] = $paging_uri; // $config['next_link'] = 'berikutnya »'; // $config['prev_link'] = '« sebelumnya ';
$this->pagination->initialize($config);
$data['page_links'] = $this->pagination->create_links();
$this->load->helper('smiley'); $this->load->library('table');
$image_array = get_clickable_smileys(base_url().'smileys/');
$col_array = $this->table->make_columns($image_array,20);
$data['smiley_table'] = $this->table->generate($col_array);
$this->load->view('guestbook', $data); }
function _remap($page) { $this->show(); }
function _validate_data() { $rules['nama'] = "required|htmlspecialchars"; $rules['email'] = "required|valid_email|htmlspecialchars"; $rules['komentar'] = "required|htmlspecialchars";
$this->validation->set_rules($rules);
$fields['nama'] = 'nama'; $fields['komentar'] = 'komentar'; $fields['email'] = 'email';
$this->validation->set_fields($fields);
return ($this->validation->run() == FALSE) ? FALSE : TRUE; } } |
Model – tguestbook_model.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
<? class Tguestbookmodel extends Model {
public $table_record_count; function Tguestbookmodel() { parent::Model(); }
function findAll($fields=NULL,$start = NULL, $count = NULL) { return $this->find($fields,NULL, NULL,$start, $count); }
function findByFilter($filter_rules, $start = NULL, $count = NULL) { return $this->find(NULL,$filter_rules, NULL,$start, $count); }
function find($fields=NULL, $filters = NULL, $order=NULL, $start = NULL, $count = NULL) { $results = array(); //finding number of search $this->_set_where($filters); $this->db->from('guestbook'); $this->table_record_count = $this->db->count_all_results();
//the real result $this->_set_where($filters); $order=array("tanggal"=>"desc"); $this->_set_order($order);
if ($start) { if ($count) $this->db->limit($start, $count); else $this->db->limit($start); } $query = $this->db->get( 'guestbook' ); if ($query->num_rows() > 0) { return $query->result_array(); } else { return FALSE; } }
function add( $data ) { $this->db->insert('guestbook', $data); return $this->db->insert_id(); }
function update($keyvalue, $data) { $this->db->where('id', $keyvalue); $this->db->update('guestbook', $data); }
function delete($idField) { $this->db->where('id', $idField); $this->db->delete('guestbook'); return true; }
function _set_where($filters=NULL) { if ($filters) { if ( is_string($filters) ) { $where_clause = $filters; $this->db->where($where_clause); } elseif ( is_array($filters) ) { if ( count($filters) > 0 ) { foreach ($filters as $field => $value) $this->db->where($field, $value); } }
} } function _set_order($order=NULL) { if ($order) { if ( is_string($order) ) { $where_clause = $order; $this->db->order_by($where_clause); } elseif ( is_array($order) ) { if ( count($order) > 0 ) { foreach ($order as $field => $value) $this->db->order_by($field, $value); } }
} }
}
?> |
View – tguestbook_model.php
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 |
<h2>Guest Book </h2> <hr> <?php $v =& $this->validation ?> <? if ($v->error_string) { ?> <div > <?php echo $v->error_string?> </div> <? } ?> <?php if($success): ?>
<div> <span >Data Sukses Disimpan</span> </div> <?php unset($v); endif; ?>
<? if($tguestbook_list) { foreach($tguestbook_list as $value) { echo "<li><strong><u>".$value['nama']."</u></strong> ( ".$value['tanggal']." ): ".nl2br(parse_smileys($value['komentar'],"http://localhost/vni/smileys/"))." <hr></li>"; } } ?>
<?php echo $page_links;?> <?echo js_insert_smiley('bukutamu', 'komentar'); ?> <br> <h4>Isi Buku Tamu</h4> <form method="post"> <label for="nama" >Nama : </label> <input value="<?php echo $v->nama?>"/> <label for="email" >Email : </label> <input value="<?php echo $v->email?>"/>
<textarea cols="40" rows="4"> <?php echo $v->komentar?> </textarea> <div> <?php echo $smiley_table; ?> </div> <input /> </form> |
No products
Shipping
Rp0.00
Total
Rp0.00




