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