Jual Beli Produk Digital - Cepat, Aman, Dan Terpercaya Sejak 2012 (Ada 69496 Members, 811 Products, 4734 Topic, 13083 Comments)

Input Data Bersamaan untuk absensi Dengan Satu Tombol di CI

Dibuat
Login Terakhir 3 Hari lalu,
Telah Dilihat 1486 Kali
Ahmad A Azari 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

Ahmad A Azari
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. }
Ahmad A Azari
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();
Ahmad A Azari
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 !!!

Online