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

Cara Mencegah Duplikasi Data saat input di Framework CodeIgniter

Dibuat
Login Terakhir 4 Bulan lalu,
Telah Dilihat 7890 Kali
pramadians Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2.  
  3. Saya ada masalah saat input data yang sama tetapi masih bisa di input.
  4. Mohon bantuannya pak, kalau di inputkan subprogram yang sama seharusnya ada notif gagal itu gimana ya?
  5.  
  6. Terimakasih sebelumnya,
  7. Wassalam......
  8.  
  9. ----------------------------controller-------------------------------------------------------------------------------------------------
  10. public function tambah_laporan() {
  11. $this->_is_opd();
  12. $this->load->library('form_validation');
  13. $this->form_validation->set_rules('tanggal', 'Tanggal', 'required');
  14.  
  15.  
  16. if ($this->form_validation->run() === FALSE) {
  17. $data = array(
  18. 'dafunit' => $this->aktifrecord->read('dafunit'),
  19. 'tb_organisasi' => $this->aktifrecord->read('tb_organisasi'),
  20. 'tb_program' => $this->aktifrecord->read('tb_program'),
  21. 'tb_subprogram' => $this->aktifrecord->read('tb_subprogram'),
  22. 'tb_indikator' => $this->aktifrecord->read('tb_indikator'),
  23. 'tb_kinerja' => $this->aktifrecord->read('tb_kinerja'),
  24. 'tb_urusan' => $this->aktifrecord->read('tb_urusan'),
  25. 'tb_suburusan' => $this->aktifrecord->read('tb_suburusan'),
  26. 'tb_suburusan2' => $this->aktifrecord->read('tb_suburusan2'),
  27. 'tb_suburusan3' => $this->aktifrecord->read('tb_suburusan3'),
  28. );
  29.  
  30. $this->load->view('opd/kepala',$data);
  31. $this->load->view('opd/tambah_laporan', $data);
  32. $this->load->view('opd/kaki',$data);
  33.  
  34. }
  35. else{
  36.  
  37. $this->load->helper(array('form', 'url'));
  38. //memasukan ke array
  39. $data = array(
  40. 'id_lap' => $this->input->post(''),
  41. 'tanggal' => $this->input->post('tanggal'),
  42. 'triwulan' => $this->input->post('triwulan'),
  43. 'id' => $this->input->post('id'),
  44. 'id_suburusan' => $this->input->post('id_suburusan'),
  45. 'id_suburusan2' => $this->input->post('id_suburusan2'),
  46. 'id_suburusan3' => $this->input->post('id_suburusan3'),
  47. 'id_organisasi' => $this->input->post('id_organisasi'),
  48. 'id_program' => $this->input->post('program'),
  49. 'id_subprogram' => $this->input->post('subprogram'),
  50. 'id_indikator' =>$this->input->post('id_indikator'),
  51. 'sasaran' => $this->input->post('sasaran'),
  52. 't_rpjmdk' => $this->input->post('t_rpjmdk'),
  53. 't_rpjmdrp' => $this->input->post('t_rpjmdrp'),
  54. 'c_rpjmdk' => $this->input->post('c_rpjmdk'),
  55. 'c_rpjmdrp' => $this->input->post('c_rpjmdrp'),
  56. 't_rkpdk' => $this->input->post('t_rkpdk'),
  57. 't_rkpdrp' => $this->input->post('t_rkpdrp'),
  58. 'triwulan1_k' => $this->input->post('triwulan1_k'),
  59. 'triwulan1_rp' => $this->input->post('triwulan1_rp'),
  60. 'triwulan2_k' => $this->input->post('triwulan2_k'),
  61. 'triwulan2_rp' => $this->input->post('triwulan2_rp'),
  62. 'triwulan3_k' => $this->input->post('triwulan3_k'),
  63. 'triwulan3_rp' => $this->input->post('triwulan3_rp'),
  64. 'triwulan4_k' => $this->input->post('triwulan4_k'),
  65. 'triwulan4_rp' => $this->input->post('triwulan4_rp'),
  66. 'rc_rkpdk' => $this->input->post('rc_rkpdk'),
  67. 'rc_rkpdrp' => $this->input->post('rc_rkpdrp'),
  68. 'r_rpjmdk' => $this->input->post('r_rpjmdk'),
  69. 'r_rpjmdrp' => $this->input->post('r_rpjmdrp'),
  70. 'tc_rpjmdk' => $this->input->post('tc_rpjmdk'),
  71. 'tc_rpjmdrp' => $this->input->post('tc_rpjmdrp')
  72.  
  73. );
  74. //tambahkan akun ke database
  75. $id = $this->aktifrecord->create('tb_laporan', $data);
  76. echo "<script>alert('Insert Data Berhasil.');</script>";
  77. redirect('opd/laporan','refresh');
  78. }
  79. }

Ada 9 Jawaban

Bukhori Muslim
commented on 05 Sep 2018 08:42:26
  1. Assalam,.. apakah untuk data subprogram ada kode data masing2nya??
  2. jika ada maka dibuat validasi agar data kode subprogram tidak duplikat,
  3. bisa dengan query begini :
  4.  
  5. $cek = $this->db->query("SELECT * FROM tb_laporan where id_subprogram='".$this->input->post('subprogram')."'");
  6. if ($cek->num_rows()>=1){
  7. echo "Maaf gagal input data, Data sudah ada,..";
  8. redirect('opd/laporan','refresh');
  9. }else{
  10. echo "Data berhasil di input,..";
  11. // Query insert tempatkan disini,...
  12. }
Bukhori Muslim
commented on 05 Sep 2018 08:45:11
  1. Assalam,.. Ooo ya pertanyaan yang sudah terjawab jangan di hapus topicnya ya,.. ^_^
  2. karena kita lihat mas "pramadians" menghapus topic2 sebelumnya dari pertanyaan masnya yang sudah terjawab di forum ini.
  3. agar jika nanti ada member lain yang bertanya hal sama bisa kita arahkan ke topic tersebut saja.
pramadians
commented on 05 Sep 2018 08:52:23
  1. Assalam,..
  2.  
  3. Iya pak,, Maaf sebelumnya saya tidak tahu. Untuk kedepannya tidak di ulangi lagi
pramadians
commented on 05 Sep 2018 13:51:34
  1. Assalam,..
  2.  
  3. Maaf pak,, script yg pak admin itu peletakan nya dimna pak,, soalnya setelah saya coba tambahkan script tersebut terdapat error pak. Terimakasih
pramadians
commented on 05 Sep 2018 14:29:31
  1. Assalam,..
  2.  
  3. Scrip yang telah saya tambahkan dengan script yang admin berikan;
  4.  
  5. ===================================================================
  6. public function tambah_laporan()
  7. {
  8. $this->_is_opd();
  9. $this->load->library('form_validation');
  10. $this->form_validation->set_rules('tanggal', 'Tanggal', 'required');
  11.  
  12.  
  13. if ($this->form_validation->run() === FALSE)
  14. {
  15. $cek = $this->db->query("SELECT * FROM tb_laporan where id_subprogram='".$this->input->post('subprogram')."'");
  16. if ($cek->num_rows()>=1)
  17. {
  18. $data = array(
  19. 'dafunit' => $this->aktifrecord->read('dafunit'),
  20. 'tb_organisasi' => $this->aktifrecord->read('tb_organisasi'),
  21. 'tb_program' => $this->aktifrecord->read('tb_program'),
  22. 'tb_subprogram' => $this->aktifrecord->read('tb_subprogram'),
  23. 'tb_indikator' => $this->aktifrecord->read('tb_indikator'),
  24. 'tb_kinerja' => $this->aktifrecord->read('tb_kinerja'),
  25. 'tb_urusan' => $this->aktifrecord->read('tb_urusan'),
  26. 'tb_suburusan' => $this->aktifrecord->read('tb_suburusan'),
  27. 'tb_suburusan2' => $this->aktifrecord->read('tb_suburusan2'),
  28. 'tb_suburusan3' => $this->aktifrecord->read('tb_suburusan3'),
  29. );
  30.  
  31. $this->load->view('opd/kepala',$data);
  32. $this->load->view('opd/tambah_laporan', $data);
  33. $this->load->view('opd/kaki',$data);
  34. }
  35. echo "Maaf gagal input data, Data sudah ada,..";
  36.  
  37. }
  38. else
  39. {
  40.  
  41. $this->load->helper(array('form', 'url'));
  42. //memasukan ke array
  43. $data = array(
  44. 'id_lap' => $this->input->post(''),
  45. 'tanggal' => $this->input->post('tanggal'),
  46. 'triwulan' => $this->input->post('triwulan'),
  47. 'id' => $this->input->post('id'),
  48. 'id_suburusan' => $this->input->post('id_suburusan'),
  49. 'id_suburusan2' => $this->input->post('id_suburusan2'),
  50. 'id_suburusan3' => $this->input->post('id_suburusan3'),
  51. 'id_organisasi' => $this->input->post('id_organisasi'),
  52. 'id_program' => $this->input->post('program'),
  53. 'id_subprogram' => $this->input->post('subprogram'),
  54. 'id_indikator' =>$this->input->post('id_indikator'),
  55. 'sasaran' => $this->input->post('sasaran'),
  56. 't_rpjmdk' => $this->input->post('t_rpjmdk'),
  57. 't_rpjmdrp' => $this->input->post('t_rpjmdrp'),
  58. 'c_rpjmdk' => $this->input->post('c_rpjmdk'),
  59. 'c_rpjmdrp' => $this->input->post('c_rpjmdrp'),
  60. 't_rkpdk' => $this->input->post('t_rkpdk'),
  61. 't_rkpdrp' => $this->input->post('t_rkpdrp'),
  62. 'triwulan1_k' => $this->input->post('triwulan1_k'),
  63. 'triwulan1_rp' => $this->input->post('triwulan1_rp'),
  64. 'triwulan2_k' => $this->input->post('triwulan2_k'),
  65. 'triwulan2_rp' => $this->input->post('triwulan2_rp'),
  66. 'triwulan3_k' => $this->input->post('triwulan3_k'),
  67. 'triwulan3_rp' => $this->input->post('triwulan3_rp'),
  68. 'triwulan4_k' => $this->input->post('triwulan4_k'),
  69. 'triwulan4_rp' => $this->input->post('triwulan4_rp'),
  70. 'rc_rkpdk' => $this->input->post('rc_rkpdk'),
  71. 'rc_rkpdrp' => $this->input->post('rc_rkpdrp'),
  72. 'r_rpjmdk' => $this->input->post('r_rpjmdk'),
  73. 'r_rpjmdrp' => $this->input->post('r_rpjmdrp'),
  74. 'tc_rpjmdk' => $this->input->post('tc_rpjmdk'),
  75. 'tc_rpjmdrp' => $this->input->post('tc_rpjmdrp')
  76.  
  77. );
  78. //tambahkan akun ke database
  79. $id = $this->aktifrecord->create('tb_laporan', $data);
  80. echo "<script>alert('Insert Data Berhasil.');</script>";
  81. redirect('opd/laporan','refresh');
  82. }
  83. }
Bukhori Muslim
commented on 06 Sep 2018 06:10:06
  1. Assalam,.. coba penempatannya jadi begini :
  2. public function tambah_laporan(){
  3. $cek = $this->db->query("SELECT * FROM tb_laporan where id_subprogram='".$this->input->post('subprogram')."'");
  4. if ($cek->num_rows()>=1){
  5. echo "Maaf gagal input data, Data sudah ada,..";
  6. redirect('opd/laporan','refresh');
  7. }else{
  8. echo "Data berhasil di input,..";
  9. $this->_is_opd();
  10. $this->load->library('form_validation');
  11. $this->form_validation->set_rules('tanggal', 'Tanggal', 'required');
  12.  
  13.  
  14. if ($this->form_validation->run() === FALSE)
  15. {
  16. $cek = $this->db->query("SELECT * FROM tb_laporan where id_subprogram='".$this->input->post('subprogram')."'");
  17. if ($cek->num_rows()>=1)
  18. {
  19. $data = array(
  20. 'dafunit' => $this->aktifrecord->read('dafunit'),
  21. 'tb_organisasi' => $this->aktifrecord->read('tb_organisasi'),
  22. 'tb_program' => $this->aktifrecord->read('tb_program'),
  23. 'tb_subprogram' => $this->aktifrecord->read('tb_subprogram'),
  24. 'tb_indikator' => $this->aktifrecord->read('tb_indikator'),
  25. 'tb_kinerja' => $this->aktifrecord->read('tb_kinerja'),
  26. 'tb_urusan' => $this->aktifrecord->read('tb_urusan'),
  27. 'tb_suburusan' => $this->aktifrecord->read('tb_suburusan'),
  28. 'tb_suburusan2' => $this->aktifrecord->read('tb_suburusan2'),
  29. 'tb_suburusan3' => $this->aktifrecord->read('tb_suburusan3'),
  30. );
  31.  
  32. $this->load->view('opd/kepala',$data);
  33. $this->load->view('opd/tambah_laporan', $data);
  34. $this->load->view('opd/kaki',$data);
  35. }
  36. echo "Maaf gagal input data, Data sudah ada,..";
  37.  
  38. }
  39. else
  40. {
  41.  
  42. $this->load->helper(array('form', 'url'));
  43. //memasukan ke array
  44. $data = array(
  45. 'id_lap' => $this->input->post(''),
  46. 'tanggal' => $this->input->post('tanggal'),
  47. 'triwulan' => $this->input->post('triwulan'),
  48. 'id' => $this->input->post('id'),
  49. 'id_suburusan' => $this->input->post('id_suburusan'),
  50. 'id_suburusan2' => $this->input->post('id_suburusan2'),
  51. 'id_suburusan3' => $this->input->post('id_suburusan3'),
  52. 'id_organisasi' => $this->input->post('id_organisasi'),
  53. 'id_program' => $this->input->post('program'),
  54. 'id_subprogram' => $this->input->post('subprogram'),
  55. 'id_indikator' =>$this->input->post('id_indikator'),
  56. 'sasaran' => $this->input->post('sasaran'),
  57. 't_rpjmdk' => $this->input->post('t_rpjmdk'),
  58. 't_rpjmdrp' => $this->input->post('t_rpjmdrp'),
  59. 'c_rpjmdk' => $this->input->post('c_rpjmdk'),
  60. 'c_rpjmdrp' => $this->input->post('c_rpjmdrp'),
  61. 't_rkpdk' => $this->input->post('t_rkpdk'),
  62. 't_rkpdrp' => $this->input->post('t_rkpdrp'),
  63. 'triwulan1_k' => $this->input->post('triwulan1_k'),
  64. 'triwulan1_rp' => $this->input->post('triwulan1_rp'),
  65. 'triwulan2_k' => $this->input->post('triwulan2_k'),
  66. 'triwulan2_rp' => $this->input->post('triwulan2_rp'),
  67. 'triwulan3_k' => $this->input->post('triwulan3_k'),
  68. 'triwulan3_rp' => $this->input->post('triwulan3_rp'),
  69. 'triwulan4_k' => $this->input->post('triwulan4_k'),
  70. 'triwulan4_rp' => $this->input->post('triwulan4_rp'),
  71. 'rc_rkpdk' => $this->input->post('rc_rkpdk'),
  72. 'rc_rkpdrp' => $this->input->post('rc_rkpdrp'),
  73. 'r_rpjmdk' => $this->input->post('r_rpjmdk'),
  74. 'r_rpjmdrp' => $this->input->post('r_rpjmdrp'),
  75. 'tc_rpjmdk' => $this->input->post('tc_rpjmdk'),
  76. 'tc_rpjmdrp' => $this->input->post('tc_rpjmdrp')
  77.  
  78. );
  79. //tambahkan akun ke database
  80. $id = $this->aktifrecord->create('tb_laporan', $data);
  81. echo "<script>alert('Insert Data Berhasil.');</script>";
  82. redirect('opd/laporan','refresh');
  83. }
  84. }
  85. }
pramadians
commented on 06 Sep 2018 10:56:06
  1. Assalam,..
  2.  
  3. Setelah saya ikuti script yang bpk share, ketika tombol tambah data di klik form input tambah data tidak muncul. yang muncul alert nya saja. Terimakasih
Terdapat 1 File dilampirkan :
1. 132.jpg (46 KB)
Bukhori Muslim
commented on 07 Sep 2018 06:53:23
  1. Assalam,.. Oooo itu viewnya ada disana juga tohh, saya kira aksinya saja disana,..
  2. harisnya masnya bisa menyesuaikannya langsung, jadinya seperti ini :
  3.  
  4. public function tambah_laporan() {
  5. $this->_is_opd();
  6. $this->load->library('form_validation');
  7. $this->form_validation->set_rules('tanggal', 'Tanggal', 'required');
  8.  
  9. if ($this->form_validation->run() === FALSE) {
  10. $data = array(
  11. 'dafunit' => $this->aktifrecord->read('dafunit'),
  12. 'tb_organisasi' => $this->aktifrecord->read('tb_organisasi'),
  13. 'tb_program' => $this->aktifrecord->read('tb_program'),
  14. 'tb_subprogram' => $this->aktifrecord->read('tb_subprogram'),
  15. 'tb_indikator' => $this->aktifrecord->read('tb_indikator'),
  16. 'tb_kinerja' => $this->aktifrecord->read('tb_kinerja'),
  17. 'tb_urusan' => $this->aktifrecord->read('tb_urusan'),
  18. 'tb_suburusan' => $this->aktifrecord->read('tb_suburusan'),
  19. 'tb_suburusan2' => $this->aktifrecord->read('tb_suburusan2'),
  20. 'tb_suburusan3' => $this->aktifrecord->read('tb_suburusan3'),
  21. );
  22.  
  23. $this->load->view('opd/kepala',$data);
  24. $this->load->view('opd/tambah_laporan', $data);
  25. $this->load->view('opd/kaki',$data);
  26.  
  27. }else{
  28.  
  29. $cek = $this->db->query("SELECT * FROM tb_laporan where id_subprogram='".$this->input->post('subprogram')."'");
  30. if ($cek->num_rows()>=1){
  31. echo "Maaf gagal input data, Data sudah ada,..";
  32. redirect('opd/laporan','refresh');
  33. }else{
  34. echo "Data berhasil di input,..";
  35. $this->load->helper(array('form', 'url'));
  36. //memasukan ke array
  37. $data = array(
  38. 'id_lap' => $this->input->post(''),
  39. 'tanggal' => $this->input->post('tanggal'),
  40. 'triwulan' => $this->input->post('triwulan'),
  41. 'id' => $this->input->post('id'),
  42. 'id_suburusan' => $this->input->post('id_suburusan'),
  43. 'id_suburusan2' => $this->input->post('id_suburusan2'),
  44. 'id_suburusan3' => $this->input->post('id_suburusan3'),
  45. 'id_organisasi' => $this->input->post('id_organisasi'),
  46. 'id_program' => $this->input->post('program'),
  47. 'id_subprogram' => $this->input->post('subprogram'),
  48. 'id_indikator' =>$this->input->post('id_indikator'),
  49. 'sasaran' => $this->input->post('sasaran'),
  50. 't_rpjmdk' => $this->input->post('t_rpjmdk'),
  51. 't_rpjmdrp' => $this->input->post('t_rpjmdrp'),
  52. 'c_rpjmdk' => $this->input->post('c_rpjmdk'),
  53. 'c_rpjmdrp' => $this->input->post('c_rpjmdrp'),
  54. 't_rkpdk' => $this->input->post('t_rkpdk'),
  55. 't_rkpdrp' => $this->input->post('t_rkpdrp'),
  56. 'triwulan1_k' => $this->input->post('triwulan1_k'),
  57. 'triwulan1_rp' => $this->input->post('triwulan1_rp'),
  58. 'triwulan2_k' => $this->input->post('triwulan2_k'),
  59. 'triwulan2_rp' => $this->input->post('triwulan2_rp'),
  60. 'triwulan3_k' => $this->input->post('triwulan3_k'),
  61. 'triwulan3_rp' => $this->input->post('triwulan3_rp'),
  62. 'triwulan4_k' => $this->input->post('triwulan4_k'),
  63. 'triwulan4_rp' => $this->input->post('triwulan4_rp'),
  64. 'rc_rkpdk' => $this->input->post('rc_rkpdk'),
  65. 'rc_rkpdrp' => $this->input->post('rc_rkpdrp'),
  66. 'r_rpjmdk' => $this->input->post('r_rpjmdk'),
  67. 'r_rpjmdrp' => $this->input->post('r_rpjmdrp'),
  68. 'tc_rpjmdk' => $this->input->post('tc_rpjmdk'),
  69. 'tc_rpjmdrp' => $this->input->post('tc_rpjmdrp')
  70.  
  71. );
  72. //tambahkan akun ke database
  73. $id = $this->aktifrecord->create('tb_laporan', $data);
  74. echo "<script>alert('Insert Data Berhasil.');</script>";
  75. redirect('opd/laporan','refresh');
  76. }
  77. }
  78. }
  79.  
  80.  
pramadians
commented on 07 Sep 2018 09:55:15
  1. Assalam,..
  2.  
  3. Terimakasih Pak,,,,
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!