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

Bagaimana Cara Mencegah Duplikasi Data di Framework CodeIgniter

Dibuat
Login Terakhir 11 Hari lalu,
Telah Dilihat 15545 Kali
Ahmad Sopian Mengatakan : Sultan Account
  1. Selamat sore,
  2.  
  3. seperti biasa saya baru belajar Framework CodeIgniter, ingin bertanya cara mencegah duplikasi data di CI, contoh kasus :
  4. - Saya membuat sebuah aplikasi misal data karyawan ada NIK, Nama Lengkap dan Divisi, nah bagaimana caranya agar user tidak dapat simpan data atau program melakukan pemeriksaan data terlebih dahulu ke database dengan acuan NIK.
  5.  
  6. Mohon bantuannya rekan-rekan.
  7. Sebelumnya saya ucapkan terima kasih.

Ada 9 Jawaban

ADNinc Dev
commented on 27 Jan 2018 22:42:42
  1. Ada dua cara mas
  2. 1. Membuat NIK sebagai primary key
  3. 2. Pengecekan terlebih dahulu di database nya contoh bisa dilihat di https://members.phpmu.com/forum/read/notif-menginputkan-data-yang-sama
  4.  
  5. Semoga dapat membantu
Ahmad Sopian
commented on 27 Jan 2018 23:25:48
  1. Terima kasih atas sarannya mas, tapi kok saya tidak berhasil ya
  2.  
  3. function add() {
  4. $cek = $this->db->query("SELECT * FROM tb_pengguna where nik='".$this->input->post('nik')."'")->num_rows();
  5. if ($cek<=0) {
  6. $this->_set_rules();
  7. if ($this->form_validation->run() == true) {
  8. $data = array(
  9. 'id_pengguna' => $this->m_pengguna->kdotomatis(),
  10. 'nik' => $this->input->post('nik'),
  11. 'nama_pengguna' => $this->input->post('pengguna'),
  12. 'id_jabatan' => $this->input->post('jabatan'),
  13. 'id_cabang' => $this->input->post('cabang'),
  14. 'id_dept' => $this->input->post('subdept'),
  15. 'ruang_kantor' => $this->input->post('kantor')
  16. );
  17. $this->m_pengguna->simpan($data);
  18. redirect('pengguna');
  19. } else {
  20. $data['jabatan'] = $this->m_pengguna->getjabatan()->result();
  21. $data['cabang'] = $this->m_pengguna->getcabang()->result();
  22. $data['departemen'] = $this->m_pengguna->getdepartemengid()->result();
  23. $this->template->display('pengguna/tambah', $data);
  24. }
  25. }
  26. }
  27.  
  28. Mohon maaf mas saya newbie hehehe
PHPMU.COM Support
commented on 28 Jan 2018 08:14:23
  1. Assalam, bisa share file controller dan model yang sudah dibuat mas disini,..
  2. agar bisa kita cek langsung, sekalian table database nya..
Ahmad Sopian
commented on 29 Jan 2018 08:50:06
  1. Mas roby, terlampir Model dan Controller yang saya buat
Terdapat 1 File dilampirkan :
1. application1.zip (2 KB)
PHPMU.COM Support
commented on 29 Jan 2018 19:47:26
  1. Coba gini mas, cek datanya ditempatkan jika data sudah di submit saja,..
  2. jadi jika nik tersebut belum ada maka datanya simpan kedatabase, jika tidak maka kembali ke form inputan,..
  3. coba ubah function add nya menjadi seperti berikut :
  4.  
  5. function add() {
  6. $this->_set_rules();
  7. if ($this->form_validation->run() == true) {
  8. $cek = $this->db->query("SELECT * FROM tb_pengguna where nik='".$this->input->post('nik')."'")->num_rows();
  9. if ($cek<=0){
  10. $data = array(
  11. 'id_pengguna' => $this->m_pengguna->kdotomatis(),
  12. 'nik' => $this->input->post('nik'),
  13. 'nama_pengguna' => $this->input->post('pengguna'),
  14. 'id_jabatan' => $this->input->post('jabatan'),
  15. 'id_cabang' => $this->input->post('cabang'),
  16. 'id_dept' => $this->input->post('subdept'),
  17. 'ruang_kantor' => $this->input->post('kantor')
  18. );
  19. $this->m_pengguna->simpan($data);
  20. }
  21. redirect('pengguna');
  22. }else {
  23. $data['jabatan'] = $this->m_pengguna->getjabatan()->result();
  24. $data['cabang'] = $this->m_pengguna->getcabang()->result();
  25. $data['departemen'] = $this->m_pengguna->getdepartemengid()->result();
  26. $this->template->display('pengguna/tambah', $data);
  27. }
  28. }
Ahmad Sopian
commented on 30 Jan 2018 09:06:42
  1. Tidak berhasil mas, jika saya input data berbeda malah tidak masuk ke database.
PHPMU.COM Support
commented on 31 Jan 2018 10:07:19
  1. Coba function add nya ubah seperti ini dulu mas, dan kirimkan printscreen hasilnya setelah mencoba input data :
  2. <?php
  3. function add() {
  4. $this->_set_rules();
  5. if ($this->form_validation->run() == true) {
  6. $cek = $this->db->query("SELECT * FROM tb_pengguna where nik='".$this->input->post('nik')."'")->num_rows();
  7. if ($cek<=0){
  8. $data = array(
  9. 'id_pengguna' => $this->m_pengguna->kdotomatis(),
  10. 'nik' => $this->input->post('nik'),
  11. 'nama_pengguna' => $this->input->post('pengguna'),
  12. 'id_jabatan' => $this->input->post('jabatan'),
  13. 'id_cabang' => $this->input->post('cabang'),
  14. 'id_dept' => $this->input->post('subdept'),
  15. 'ruang_kantor' => $this->input->post('kantor')
  16. );
  17. print_r($data);
  18. }
  19. echo "gagal simpan data";
  20. }else {
  21. $data['jabatan'] = $this->m_pengguna->getjabatan()->result();
  22. $data['cabang'] = $this->m_pengguna->getcabang()->result();
  23. $data['departemen'] = $this->m_pengguna->getdepartemengid()->result();
  24. $this->template->display('pengguna/tambah', $data);
  25. }
  26. }
  27. ?>
  28.  
  29. sekalian printscreen-kan juga struktur table "tb_pengguna",..
Ahmad Sopian
commented on 31 Jan 2018 10:17:05
  1. Saya coba input jika data belum ada, maka peringatannya
  2. Array ( [id_pengguna] => U018.0006 [nik] => 519192 [nama_pengguna] => TEST DUPLIKAT [id_jabatan] => 3 [id_cabang] => 1 [id_dept] => 82 [ruang_kantor] => - ) gagal simpan data
  3. Sedangkan jika data sudah ada hanya "gagal simpan data"
  4. Untuk struktur tabel ada pada lampiran.
Terdapat 1 File dilampirkan :
1. 2018-01-31_10h16_26.png (18 KB)
korekiyo hatakeyama
commented on 28 Jul 2018 17:10:11
  1. Assalam,..
  2.  
  3. saya ada masalah nih di array..
  4. saya membuat multi insert dengan array tetapi saya ingin membuat kode trasaksi inputan pertama dan inputan kedua atau yg lain nya tidak boleh sama
  5.  
  6. Tolong solusi nya master
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!