Membuat Halaman Insert
Membuat controller input,
public function input(){ $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->form_validation->set_rules('title', 'Title', 'required'); $this->form_validation->set_rules('content', 'Content', 'required'); if ($this->form_validation->run() == FALSE){ $data['aksi'] = "news/input"; $this->load->view('news/view_input_news', $data); } else{ $data = array( 'title'=>$this->input->post('title'), 'content'=>$this->input->post('content'), ); $this->modelNews->insertData($data); redirect('news/show'); } }
Membuat halaman view/view_input_news untuk form input
<table> <tr><td><b></b></td><td></td><td><input type="hidden" name="id" value="<?php if(!empty($id)){ echo $id; }//echo set_value('id');?>" size="50" /></td></tr> <tr><td><b>Title</b></td><td>:</td><td><input type="text" name="title" value="<?php if(empty($id)){ echo set_value('title');} else{ echo $title; }?>" size="50" /></td></tr> <tr><td><b>Content</b></td><td>:</td><td><textarea name="content"><?php if(empty($id)){echo set_value('content');} else{ echo $content;} ?></textarea></td></tr> <tr><td colspan='3' align='right'><input type="submit" value="Submit" /></td></tr> </table>
dalam model/modelNews, membuat fungsi insert data
function insertData($data){ $this->db->insert('news',$data); }
Membuat Halaman Update
Membuat fungsi di controller untuk update data
public function update($id=""){ $this->load->helper(array('form', 'url')); $this->load->library('form_validation'); $this->form_validation->set_rules('title', 'Title', 'required'); $this->form_validation->set_rules('content', 'Content', 'required'); $this->form_validation->set_message('required','Isi dong'); if ($this->form_validation->run() == FALSE){ $data['edit'] = $this->modelNews->ambilData($id); $data['aksi'] = "news/update"; $this->load->view('news/view_input_news',$data); } else{ $data = array( 'id'=>$this->input->post('id'), 'title'=>$this->input->post('title'), 'content'=>$this->input->post('content'), ); $this->modelNews->updateById($data); redirect('news/show'); } } }
pada view, menambahkan kode, untuk form menuju pada edit
if(ISSET($edit)){ if(count($edit->result())>0){ foreach($edit->result() as $hasil){ $id = $hasil->id; $title = $hasil->title; $content = $hasil->content; } } }
Membuat fungsi update dalam model/modelNews
// fungsi ambil data untuk mengambil data berdasarkan id function ambilData($id){ $this->db->from('news'); $this->db->where('id',$id); return $this->db->get(); } // fungsi updateById untuk query update function updateById($data){ $this->db->where('id',$data['id']); $this->db->update('news',$data); }
Membuat aksi delete
Membuat fungsi delete pada controller yang diarahkan pada model
public function delete($id=""){ $this->modelNews->deleteById($id); redirect('news/show'); }
pada modelNews, menyisipkan query delete
function deleteById($id){ $del="DELETE FROM news WHERE id = '$id'"; return $this->db->query($del); }
Membuat Halaman Pagination
public function show($offset=0){ $offset = $this->uri->segment(3); $per_page =5; $this->load->library('pagination'); // library pagination $config['base_url'] = base_url().'news/show/'; $config['total_rows'] = $this->modelNews->getAllData(); $config['per_page'] = $per_page; $config['uri_segment'] = 3; // setting pagination : letak segment halaman $config['num_links'] = 5; $config['use_page_numbers'] = TRUE; $config['next_link'] = 'Next'; $config['prev_link'] = 'Prev'; $this->pagination->initialize($config); // inisialisasi konfigurasi $data['paging'] = $this->pagination->create_links(); $data['hasil_data']=$this->modelNews->getAllNews($per_page, $offset); $this->load->view('news/view_show_page',$data); //$data; }
pada model untuk data, menambahkan fungsi
function getAllNews($per_page, $offset){ if($offset!=0) $offset = ($offset-1)*$per_page; $this->db->from('news'); $this->db->limit($per_page, $offset); return $this->db->get(); } function getAllData(){ return $this->db->count_all('news'); }
pada view/view_show_page.php, pada halaman terakhir ditambahkan
<?=$paging?>