Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - <?php
 - class Siswa extends CI_Controller{
 - private $limit=10;
 - function _construct()
 - {
 - parent::__construct();
 - #load library dan helper
 - $this->load->library(array('table','form_validation'));
 - $this->load->helper(array('form','url'));
 - $this->load->model('Siswa_model','',TRUE);
 - }
 - function index($offset=0,$order_column='id',$order_type='asc')
 - {
 - if(empty($offset)) $offset=0;
 - if(empty($order_column)) $order_column='id';
 - if(empty($order_type)) $order_type='asc';
 - #load data
 - $siswas = $this->siswa_model->get_paged_list($this->limit,$offset,$order_column,$order_type) ->result();
 - //generate pagination
 - $this->load->library('pagination');
 - $config['base_url']=site_url('siswa/index/');
 - $config['total_rows']=$this->siswa_model->count_all();
 - $config['per_page']=$this->limit;
 - $config['uri_segment']=3;
 - $this->pagination->initialize($config);
 - $data['pagination']=$this->pagination->create_links();
 - //generate table siswa
 - $this->load->library('table');
 - $this->table->set_empty(" ");
 - $new_order=($order_type=='asc'?'desc':'asc');
 - $this->table->set_heading('No' ,
 - anchor('siswa/index'.$offset.'/nama/'.$new_order,'nama'),
 - anchor('siswa/index'.$offset.'/alamat/'.$new_order,'alamat'),
 - anchor('siswa/index'.$offset.'/kelamin/'.$new_order,'kelamin'),
 - anchor('siswa/index'.$offset.'/tgllahir'.$new_order,'tgllahir(dd-mm-yyyy)'),
 - 'Actions'
 - );
 - $i=0+$offset;
 - foreach ($siswas as $siswa){
 - $this->table->add_row(++$i,
 - $siswa->nama,
 - $siswa->alamat,
 - strtoupper($siswa->kelamin)=='M'?'Laki-Laki':'Perempuan',
 - date('d-m-y',strtotime($siswa->tgllahir)),
 - anchor('siswa/view'.$siswa->id,'view',array('class'=>'view')).''.
 - anchor('siswa/update'.$siswa->id,'update',array('class'=>'update')).''.
 - anchor('siswa/delete'.$siswa->id,'delete',array('class'=>'delete','onclick'=>"return confirm('yakin hapus data?')"))
 - );
 - }
 - $data['table']=$this->table->generate();
 - if ($this->uri->segment(3)=='delete_success')
 - $data['message']='data berhasil dihapus';
 - else if ($this->uri->segment(3)=='add_success')
 - $data['message']='data berhasil ditambah';
 - else
 - $data['message']='';
 - //load view
 - $this->load->view('siswaList',$data);
 - }
 - function add(){
 - //set propertis
 - $data['title']='tambah siswa baru';
 - $data['action']= site_url('siswa/add');
 - $data['link_back']=anchor('siswa/index/','back to list siswas',array('class'=>'back'));
 - $this->_set_rules();
 - //run validation
 - if ($this->form_validation->run()==FALSE){
 - $data['message']='';
 - //set propertis
 - $data['title']='add new siswa';
 - $data['message']='';
 - $data['siswa']['id']='';
 - $data['siswa']['nama']='';
 - $data['siswa']['alamat']='';
 - $data['siswa']['kelamin']='';
 - $data['siswa']['tgllahir']='';
 - $data['link_back']=anchor('siswa/index/','lihat daftar Siswa',array('class'=>'back'));
 - $this->load->view('siswaEdit',$data);
 - }else{
 - //simpan data
 - $siswa=array('nama'=>$this->input->post('nama'),
 - 'alamat'=>$this->input->post('alamat'),
 - 'kelamin'=>$this->input->post('kelamin'),
 - 'tgllahir'=>date('y-m-d',strtotime($this->input->post('tgllahir')))
 - );
 - $id=$this->siswa_model->save($siswa);
 - //set form input nama="id"
 - $this->validation->id=$id;
 - redirect('siswa/index/add-success');
 - }
 - }
 - function view(){
 - $data['title']='siswa detail';
 - $data['link_back']=anchor('siswa/index/','lihat daftar siswas',array('class'=>'back'));
 - //get detail
 - $data['siswa']=$this->siswa_model->get_by_id($id) ->row();
 - //load view
 - $this->load->view('siswaView',$data);
 - }
 - function update($id){
 - //set propertis
 - $data['title']='update siswa';
 - $this->load->library('form_validation');
 - $this->_set_rules();
 - $data['action']=('siswa/update'.$id);
 - if($this->form_validation->run()===FALSE){
 - $data['message']='';
 - $data['siswa']=$this->siswa_model->get_by_id($id)>row_array();
 - $_POST['kelamin']=strtoupper($data['siswa']['kelamin']);
 - $data['siswa']['tgllahir']=date('d-m-y',strtotime($data['siswa']['tgllahir']));
 - $data['title']='update siswa';
 - $data['message']='';
 - }else{
 - //simpan data
 - $id=$this->input->post('id');
 - $siswa=array('nama'=>$this->input->post('nama'),
 - 'alamat'=>$this->input->post('alamat'),
 - 'kelamin'=>$this->input->post('kelamin'),
 - 'tgllahir'=>date('y-m-d',strtotime($this->input->post('tgllahir'))));
 - $this->siswa_model->update($id,$siswa);
 - $data['siswa']=$this->siswa_model->get_by_id($id)->row_array();
 - //set bershasil update
 - $data['message']='update data suuces';
 - }
 - $data['link_back']=anchor('siswa/index/','lihat daftar siswa',array('class'=>'back'));
 - //load view
 - $this->load->view('siswaEdit',$data);
 - }
 - function delete($id){
 - //query delete
 - $this_siswa_model->delete($id);
 - redirect('siswa/index/delete_success','refresh');
 - }
 - //fungsi validation
 - function _set_rules(){
 - $this->form_validation->set_rules('nama','Nama','required|trim');
 - $this->form_validation->set_rules('kelamin','password','required');
 - $this->form_validation->set_rules('alamat','Alamat','required|callback_valid_date');
 - $this->form_validation->set_rules('tgllahir','tanggal lahir','required');
 - }
 - //date validation callback
 - function valid_date($str){
 - if(!preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/',$str))
 - {
 - $this->form_validation->set_message('valid_date','date format not valid. yyyy-mm-dd');
 - return false;
 - }
 - else{
 - return true;
 - }
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment