Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (67496 Members, 783 Products, 5291 Topic, 12956 Comments)

Input Data Bersamaan untuk absensi Dengan Satu Tombol di CI

Dibuat
Login Terakhir 16 Hari lalu,
Telah Dilihat 1268 Kali
ADNinc Dev Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. mas tolong bantuannya membuat absensi kehadiran setiap hari pada komunitas saya dan masih bingung untuk menginputkan kehadiran bersamaan.?
  3.  
  4. //Controller
  5.  
  6. if (isset($_POST['absen'])) {
  7. $data = array('member' => $this->db->escape_str($this->input->post('a')),
  8. 'kode_kehadiran' => $this->db->escape_str($this->input->post('b')),
  9. 'tanggal' => date("Y-m-d"),
  10. 'waktu_input' => date('Y-m-d H:i:s')
  11. );
  12.  
  13. $this->Model_app->insert('rb_absensi',$data);
  14.  
  15. redirect($this->uri->segment(1).'/absen');
  16. }
Ada 1 File Kiriman :
1. Capture12.JPG (31 KB)

Ada 5 Jawaban

ADNinc Dev
commented on 01 Mar 2019 15:29:40
  1. Assalam,..
  2.  
  3. Untuk Tambahnya Sudah berasil Tetapi untuk updatenya belum mhon bantuannya mas....
  4.  
  5. //Controller
  6.  
  7. if (isset($_POST['absen'])) {
  8. $member= $this->input->post('member');
  9. $kode_kehadiran = $this->input->post('kode_kehadiran');
  10. $tanggal = date('Y-m-d');
  11. $waktu_input = date('Y-m-d H:i:s');
  12. $data = array();
  13.  
  14. $index = 1;
  15. foreach($memberas $datamember){
  16. array_push($data, array(
  17. 'member'=>$datamember,
  18. 'kode_kehadiran'=>$kode_kehadiran[$index],
  19. 'tanggal'=> date('Y-m-d'),
  20. 'waktu_input'=>date('Y-m-d H:i:s'),
  21. ));
  22. $index++;
  23. }
  24. $cek = $this->db->query("SELECT * FROM rb_absensi where member='".$this->input->post('member')."' AND tanggal='".date('Y-m-d')."'");
  25. $total = $cek->num_rows();
  26. if ($total >= 1 ) {
  27. $this->Model_app->update_absen($data);
  28. redirect($this->uri->segment(1).'/absen');
  29. }else{
  30. $this->Model_app->absen($data);
  31. redirect($this->uri->segment(1).'/absen');
  32. }
  33. }
  34.  
  35. //Model
  36. public function absen($data){
  37. return $this->db->insert_batch('rb_absensi', $data);
  38. }
  39.  
  40. public function update_absen($data){
  41. return $this->db->update_batch('rb_absensi', $data , 'id_absensi');
  42. }
Bukhori Muslim
commented on 01 Mar 2019 16:27:16
  1. Assalam,.. enaknya bikin begini, saya contohkan dari absensi guru dalam jumlah banyak :
  2. $jml_data = count($_POST['id_guru']);
  3. $id_guru = $_POST['id_guru'];
  4. $kehadiran = $_POST['kehadiran'];
  5.  
  6. for ($i=1; $i <= $jml_data; $i++){
  7. $total = $this->db->query("SELECT * FROM rb_absensi_guru where id_guru='".$id_guru[$i]."' AND tanggal='".$this->input->post('tanggal')."'");
  8. if ($total->num_rows() >= 1){
  9. $data = array('id_guru'=>$id_guru[$i],
  10. 'kode_kehadiran'=>$kehadiran[$i],
  11. 'tanggal'=>$this->input->post('tanggal'),
  12. 'waktu_input'=>date('Y-m-d H:i:s'));
  13. $where = array('id_guru' => $id_guru[$i],'tanggal'=>$this->input->post('tanggal'));
  14. $this->model_app->update('rb_absensi_guru', $data, $where);
  15. }else{
  16. $data = array('id_guru'=>$id_guru[$i],
  17. 'kode_kehadiran'=>$kehadiran[$i],
  18. 'tanggal'=>$this->input->post('tanggal'),
  19. 'waktu_input'=>date('Y-m-d H:i:s'));
  20. $this->model_app->insert('rb_absensi_guru',$data);
  21. }
  22. }
ADNinc Dev
commented on 01 Mar 2019 18:04:00
  1. Assalam,..
  2.  
  3. Tambah dan Update berhasil mas, tetapi yang tambah dan updaate hanya data yang teratas atau data no 1. Data yang lain tidak tambah.
  4.  
  5. //Controller
  6.  
  7. if (isset($_POST['absen'])) {
  8. $jml_data = count($_POST['member']);
  9. $member= $_POST['member'];
  10. $kehadiran = $_POST['kode_kehadiran'];
  11.  
  12. for ($i=1; $i <= $jml_data; $i++){
  13. $total = $this->db->query("SELECT * FROM rb_absensi where member='".$member[$i]."' AND tanggal='".date('Y-m-d')."'");
  14. if ($total->num_rows() >= 1){
  15. $data = array('member'=>$member[$i],
  16. 'kode_kehadiran'=>$kehadiran[$i],
  17. 'tanggal'=>date('Y-m-d'),
  18. 'waktu_input'=>date('Y-m-d H:i:s'));
  19. $where = array('member' => $member[$i],'tanggal'=>date('Y-m-d'));
  20. $this->Model_app->update('rb_absensi', $data, $where);
  21. redirect($this->uri->segment(1).'/absen');
  22. }else{
  23. $data = array('member'=>$member[$i],
  24. 'kode_kehadiran'=>$kehadiran[$i],
  25. 'tanggal'=>date('Y-m-d'),
  26. 'waktu_input'=>date('Y-m-d H:i:s'));
  27. $this->Model_app->insert('rb_absensi',$data);
  28. redirect($this->uri->segment(1).'/absen');
  29. }
  30. }
  31. }
  32.  
  33. //Model
  34.  
  35. public function insert($table,$data){
  36. return $this->db->insert($table, $data);
  37. }
  38.  
  39. public function update($table, $data, $where){
  40. return $this->db->update($table, $data, $where);
  41. }
Bukhori Muslim
commented on 01 Mar 2019 18:22:56
  1. Assalam,.. pasti masalah disini, gak terhitung jumlah membersnya, jadi di anggap 1 saja,
  2. coba hitung pake query saja membersnya jadi gini :
  3.  
  4. Kode Yang ini : $jml_data = count($_POST['member']);
  5. ganti dengan seperti ini :
  6. $jml_data = $this->db->query("SELECt * FROM member")->num_rows();
ADNinc Dev
commented on 02 Mar 2019 00:16:06
  1. Assalam,..
  2.  
  3. saya rubah kode : redirect($this->uri->segment(1).'/absen');
  4. menjadi : print_r($data);
  5.  
  6. itu bisa tambah semuanya mas. Tetapi saat saya ubah lagi menjadi
  7. redirect($this->uri->segment(1).'/absen');
  8.  
  9. Kembali hanya satu yang terinput
  10. Mungkin ada solusinya mas?
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!