Selamat datang kembali di website tips dan trik Dumet School, yup berjumpa kembali dengan saya pada pembahasan tips dan trik seputar dunia website, pada kesempatan kali ini saya akan memberikan tips tentang Cara Membuat Multiple Insert Dengan Codeigniter. Jadi idenya kali ini kita akan membuat multiple insert dengan studi kasus input product dan warnanya, dimana 1 product memiliki banyak warna. Jadi kita akan membuat sebuah inputan dengan chekbox yang di dalam valuenya kita akan tampilkan dari database, baik langsung saja kita buat database dan table nya.
Kemudian isikan beberapa datanya
Dan kita buat controllernya, kali ini saya membuat controller dengan nama Blog.php dan buat class sebagau turunan dari CI_Controller
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Blog extends CI_Controller { public function __construct(){ parent:: __construct(); $this->load->database(); $this->load->helper(array('url','form')); } }
Kemudian kita buat metoh atau fungsi dengan nama index(), dan lakukan pemanggilan query nya
public function index() { $data['color'] = $this->db->get('color')->result(); $this->load->view('blog_view',$data); }
Lalu kita buat view dengan nama blog_view.php, dan buat struktur tampilannya dan tampilkan data warnanya
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"><br> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><br> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script><br> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col-md-6"> <br> <h3><strong>Multiple Insert Dengan Codeigniter</strong></h3> <?php echo form_open('blog/insert'); ?> <div class="form-group"> <label for="nama">Nama Product:</label> <input type="text" class="form-control" id="nama" placeholder="Enter nama" name="nama_product"> </div> <div class="form-group"> <label for="price">Price:</label> <input type="text" class="form-control" id="price" placeholder="Enter price" name="price"> </div> <div class="form-group"> <?php foreach($color as $row){ ?> <input type="checkbox" id="color" name="color[]" value="<?php echo $row->id ?>"> <?php echo ucfirst($row->nama_color) ?> <?php } ?> </div> <button type="submit" class="btn btn-primary">Save</button> <?php echo form_close(); ?> </div> </div> </div> </body> </html>
Jika sudah save dan tampilkan pada browsernya, maka hasilnya seperti gambar di bawah ini
Kemudian kita buat lagi table di dalam database nya untuk product dan product_color
Lalu untuk product_color kita buat juga untuk relasi product dan colo rnya
Jika sudah kita buat fungsi insertnya, buat metod lag di dalam class Blog dengan nama insert() untuk memproses dari data yang di kirimkan oleh formnya
Ketikkan script di bawah ini
public function insert() { $data = array( 'nama_product' => $this->input->post('nama_product'), 'price' => $this->input->post('price') ); $this->db->insert('product',$data); $color = $this->input->post('color'); //mendapatkan id product $id_product = $this->db->insert_id(); foreach($color as $row){ $data = array( 'product_id' => $id_product, 'id_color' => $row ); $this->db->insert('product_color',$data); } redirect('blog'); }
Jika sudah sekarang refresh kembali pada browsernya, dan kita coba inputkan data pada formnya
Kemudian klik button save dan lihat pada database nya
Bisa teman – teman lihat pada gambar di atas ini tabel product_color berisi id product dan id color dimana 1 id product memiliki banyak colornya, lalu kita juga coba lihat pada tabel product
Bisa teman – teman lihat pada gambar di atas ini yang saya beri kotak berwarna merah memiliki id = 9, sama seperti product_id yang ada di dalam table product_color. Nah itulah tips tentang Cara Membuat Multiple Insert Dengan Codeigniter mudah – mudah bermanfaat untuk kalian yang mungkin saat ini sedang dalam pembuatan project CMS nya. Terimakasih dan sampai jumpa.