maske-sanjaya

file controler

Jul 6th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.70 KB | None | 0 0
  1. siswa.php
  2. <?php
  3. class Siswa extends CI_Controller{
  4. private $limit=10;
  5.  
  6. function _construct()
  7. {
  8. parent::__construct();
  9. #load library dan helper
  10. $this->load->library(array('table','form_validation'));
  11. $this->load->helper(array('form','url'));
  12. $this->load->model('siswa_model','',TRUE);
  13. }
  14.  
  15. function index($offset=0,$order_column='id',$order_type='asc')
  16. {
  17. if(empty($offset)) $offset=0;
  18. if(empty($order_column)) $order_column='id';
  19. if(empty($order_type)) $order_type='asc';
  20.  
  21. #load data
  22. //$siswas = $this->siswa_model->get_paged_list($this->limit,$offset,$order_column,$order_type) ->result();
  23. $this->load->model('siswa_model');
  24. $result= $this->siswa_model->get_paged_list($this->limit,$offset,$order_column,$order_type);
  25. //generate pagination
  26. $this->load->library('pagination');
  27. $config['base_url']=site_url('siswa/index/');
  28. $config['total_rows']=$this->siswa_model->count_all();
  29. $config['per_page']=$this->limit;
  30. $config['uri_segment']=3;
  31. $this->pagination->initialize($config);
  32. $data['pagination']=$this->pagination->create_links();
  33.  
  34. //generate table siswa
  35. $this->load->library('table');
  36. $this->table->set_empty("&nbsp;");
  37. $new_order=($order_type=='asc'?'desc':'asc');
  38. $this->table->set_heading('No' ,
  39. anchor('siswa/index'.$offset.'/nama/'.$new_order,'nama'),
  40. anchor('siswa/index'.$offset.'/alamat/'.$new_order,'alamat'),
  41. anchor('siswa/index'.$offset.'/kelamin/'.$new_order,'kelamin'),
  42. anchor('siswa/index'.$offset.'/tgllahir'.$new_order,'tgllahir(dd-mm-yyyy)'),
  43. 'Actions'
  44. );
  45.  
  46. $i=0+$offset;
  47. foreach ($result as $siswa){
  48. $this->table->add_row(++$i,
  49. $siswa->nama,
  50. $siswa->alamat,
  51. $siswa->kelamin,
  52. date('d-m-y',strtotime($siswa->tgllahir)),
  53. anchor('siswa/view'.$siswa->id,'view',array('class'=>'view')).''.
  54. anchor('siswa/update'.$siswa->id,'update',array('class'=>'update')).''.
  55. anchor('siswa/delete'.$siswa->id,'delete',array('class'=>'delete','onclick'=>"return confirm('yakin hapus data?')"))
  56. );
  57. }
  58.  
  59. $data['table']=$this->table->generate();
  60.  
  61. if ($this->uri->segment(3)=='delete_success')
  62. $data['message']='data berhasil dihapus';
  63. else if ($this->uri->segment(3)=='add_success')
  64. $data['message']='data berhasil ditambah';
  65. else
  66. $data['message']='';
  67. //load view
  68. $this->load->view('siswaList',$data);
  69. }
  70.  
  71. function add(){
  72. //set propertis
  73. $data['title']='tambah siswa baru';
  74. $data['action']= site_url('siswa/add');
  75. $data['link_back']=anchor('siswa/index/','back to list siswas',array('class'=>'back'));
  76.  
  77. $this->_set_rules();
  78. //run validation
  79. if ($this->form_validation->run()===FALSE){
  80. $data['message']='';
  81. //set propertis
  82. $data['title']='add new siswa';
  83. $data['message']='';
  84. $data['siswa']['id']='';
  85. $data['siswa']['nama']='';
  86. $data['siswa']['alamat']='';
  87. $data['siswa']['kelamin']='';
  88. $data['siswa']['tgllahir']='';
  89. $data['link_back']=anchor('siswa/index/','lihat daftar Siswa',array('class'=>'back'));
  90. $this->load->view('siswaEdit',$data);
  91.  
  92. }else{
  93. //simpan data
  94. $siswa=array('nama'=>$this->input->post('nama'),
  95. 'alamat'=>$this->input->post('alamat'),
  96. 'kelamin'=>$this->input->post('kelamin'),
  97. 'tgllahir'=>date('y-m-d',strtotime($this->input->post('tgllahir')))
  98. );
  99. $id=$this->siswa_model->save($siswa);
  100. //set form input nama="id"
  101. $this->validation->id=$id;
  102. redirect('siswa/index/add-success');
  103. }
  104. }
  105.  
  106. function view(){
  107. $data['title']='siswa detail';
  108. $data['link_back']=anchor('siswa/index/','lihat daftar siswas',array('class'=>'back'));
  109.  
  110. //get detail
  111. $data['siswa']=$this->siswa_model->get_by_id($id) ->row();
  112. //load view
  113. $this->load->view('siswaView',$data);
  114. }
  115.  
  116. function update($id){
  117. //set propertis
  118. $data['title']='update siswa';
  119. $this->load->library('form_validation');
  120. $this->_set_rules();
  121. $data['action']=('siswa/update'.$id);
  122. if($this->form_validation->run()===FALSE){
  123. $data['message']='';
  124. $data['siswa']=$this->siswa_model->get_by_id($id)>row_array();
  125. $_POST['kelamin']=strtoupper($data['siswa']['kelamin']);
  126. $data['siswa']['tgllahir']=date('d-m-y',strtotime($data['siswa']['tgllahir']));
  127.  
  128. $data['title']='update siswa';
  129. $data['message']='';
  130. }else{
  131. //simpan data
  132. $id=$this->input->post('id');
  133. $siswa=array('nama'=>$this->input->post('nama'),
  134. 'alamat'=>$this->input->post('alamat'),
  135. 'kelamin'=>$this->input->post('kelamin'),
  136. 'tgllahir'=>date('y-m-d',strtotime($this->input->post('tgllahir'))));
  137. $this->siswa_model->update($id,$siswa);
  138. $data['siswa']=$this->siswa_model->get_by_id($id)->row_array();
  139.  
  140. //set bershasil update
  141. $data['message']='update data suuces';
  142.  
  143. }
  144. $data['link_back']=anchor('siswa/index/','lihat daftar siswa',array('class'=>'back'));
  145. //load view
  146. $this->load->view('siswaEdit',$data);
  147.  
  148. }
  149.  
  150. function delete($id){
  151. //query delete
  152. $this_siswa_model->delete($id);
  153. redirect('siswa/index/delete_success','refresh');
  154. }
  155.  
  156. //fungsi validation
  157. function _set_rules(){
  158. $this->load->helper(array('form','url'));
  159. $this->load->library('form_validation');
  160. $this->form_validation->set_rules('nama','Nama','required|trim');
  161. $this->form_validation->set_rules('kelamin','password','required');
  162. $this->form_validation->set_rules('alamat','Alamat','required|callback_valid_date');
  163. $this->form_validation->set_rules('tgllahir','tanggal lahir','required');
  164. }
  165.  
  166. //date validation callback
  167. function valid_date($str){
  168. if(!preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/',$str))
  169. {
  170. $this->form_validation->set_message('valid_date','date format not valid. yyyy-mm-dd');
  171. return TRUE;
  172. }
  173. else{
  174. return FALSE;
  175. }
  176. }
  177.  
  178.  
  179. }
Advertisement
Add Comment
Please, Sign In to add comment