Cara Membuat Multiple Insert Dengan Codeigniter

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.

Multiple Insert Dengan Codeigniter

Kemudian isikan beberapa datanya

Multiple Insert Dengan Codeigniter

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

Multiple Insert Dengan Codeigniter

Kemudian kita buat lagi table di dalam database nya untuk product dan product_color

Multiple Insert Dengan Codeigniter

Lalu untuk product_color kita buat juga untuk relasi product dan colo rnya

Multiple Insert Dengan Codeigniter

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

Multiple Insert Dengan Codeigniter

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

Multiple Insert Dengan Codeigniter

Kemudian klik button save dan lihat pada database nya

Multiple Insert Dengan Codeigniter

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

Multiple Insert Dengan Codeigniter

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.

 

Hernowo Author

Leave a Reply

Your email address will not be published. Required fields are marked *