maske-sanjaya

Undefined property: Siswa::$siswa_model

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