Hallo! Selamat Datang di Marketplace produk digital, Freelancer terbaik di indonesia (68414 Members, 793 Products, 5353 Topic, 13045 Comments)

Bagaimana cara Membuat multiple insert di Codeigniter

Dibuat
Login Terakhir 5 Tahun lalu,
Telah Dilihat 3986 Kali
Mukti Jaya Mengatakan : Sultan Account
  1. Assalamualaikum Warahmatullahi Wabarakatuh...
  2. Mohon bantuannya untuk membuat input 1 form ke dalam 2 table
  3.  
  4. controller
  5. public function add()
  6. {
  7. $job = $this->M_kanban;
  8. $validation = $this->form_validation;
  9. $validation->set_rules($job->rules());
  10.  
  11. if ($validation->run()) {
  12. $job->save_plan();
  13.  
  14. $this->session->set_flashdata('success', 'Berhasil disimpan');
  15. }
  16.  
  17. $product = $this->M_product;
  18. $data["product"] = $product->getAll();
  19. if (!$data["product"]) show_404();
  20.  
  21. $this->load->view("base/kanban/add_job", $data);
  22. }
  23.  
  24.  
  25. Model
  26. public function save_plan()
  27. {
  28. $post = $this->input->post();
  29. $product = $this->input->post('product');
  30. $this->db->trans_start();
  31. //INSERT TO PACKAGE
  32. date_default_timezone_set("Asia/Bangkok");
  33. $data = array(
  34. 'nm_customer' => $post["nm_customer"],
  35. 'product_id' => $post["product_id"],
  36. 'qty' => $post["qty"],
  37. 'created_at' => date('Y-m-d H:i:s'),
  38. 'status' => $post["status"]
  39. );
  40. $this->db->insert('job', $data);
  41. //GET ID PACKAGE
  42. $job_id = $this->db->insert_id();
  43. $result = array();
  44. foreach ($product as $key => $val) {
  45. $result[] = array(
  46. 'job_id' => $job_id,
  47. 'days' => $val
  48. );
  49.  
  50. }
  51. //MULTIPLE INSERT TO DETAIL TABLE
  52. $this->db->insert('plan_job', $result);
  53. $this->db->trans_complete();
  54. }
  55.  
  56. View
  57. <div class="form-group">
  58. <label for="days">Days*</label>
  59. <select multiple class="form-control" name="product[]" data-width="100%" data-live-search="true" multiple required>
  60. <option value="1">1</option>
  61. <option value="2">2</option>
  62. <option value="3">3</option>
  63. <option value="4">4</option>
  64. <option value="5">5</option>
  65. </select>
  66. <input class="form-control"
  67. type="text" name="" min="0" placeholder="Days" />
  68. </div>

Ada 3 Jawaban

Bukhori Muslim
commented on 18 Okt 2019 06:39:22
  1. Assalamualaikum,.. kalau saya lihat dan analisa itu untuk design databasenya salah gan,
  2. jika struktur tablenya seperti itu akan terjadi redudansi data.
  3.  
  4. Namun untuk mengambil value yang dikirimkan didalam multiple combobox begini caranya :
  5. for ($i=0; $i < count($_GET['product']); $i++) {
  6. echo $_GET['product'][$i].' = '.$_GET['days'].'<br>';
  7. }
  8.  
  9. Tarok saja querynya didalam looping for diatas.
Mukti Jaya
commented on 18 Okt 2019 09:33:24
  1. Assalamualaikum,..
  2. sudah saya lakukan tapi masih error, sebenernya saya ingin membuat compute pembagian jumlah hari dengan qty dimana ketika saya input qty 200 kemudian hari di input 5 maka didatabase akan terbuat 5 record dengan msing2 qty hasil dr qty dibagi dengan hari
Bukhori Muslim
commented on 19 Okt 2019 06:18:38
  1. Assalamualaikum,.. kenapa error gan? jangan lupa share pesan errornya agar bisa dibantu,
  2. disini saya cobakan lancar, palingan salah dalam penmpatan. jika pake ci jnagn lupa ganti :
  3. $_GET['product'] menjadi $this->input->get('product')
  4.  
  5. Form inputannya begini :
  6. <form action='' method='GET'>
  7. <select multiple class="form-control" name="product[]" data-width="100%" data-live-search="true" multiple required>
  8. <option value="1">1</option>
  9. <option value="2">2</option>
  10. <option value="3">3</option>
  11. <option value="4">4</option>
  12. <option value="5">5</option>
  13. </select>
  14. <input class="form-control" type="text" name="days" min="0" placeholder="Days" />
  15. <input type='submit' value='Proses'>
  16. </form>
Maaf, Untuk Memberikan Komentar Anda Harus Login !!!

Online