Seringkali ketika membuat aplikasi kita dihadapakan pada permasalahan input data secara bersamaan. Kali ini kita akan membahas bagaimana caranya untuk menginputkan beberapa data yang dapat di tambahkan secara dinamis ke dalam database dan di simpan dalam satu klik penekanan tombol submit. Untuk lebih jelasnya kita lakukan langkah-langkah sebagai berikut.
Membuat Tabel
Buat tabel dengan nama multiple_input sebagai berikut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for multiple_input -- ---------------------------- DROP TABLE IF EXISTS `multiple_input`; CREATE TABLE `multiple_input` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1; |
Membuat Controller
Buat sebuah controller dengan nama Multipleinput.php, kemudian ketikkan script berikut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php defined('BASEPATH') or exit('No direct script access allowed'); class Multipleinput extends CI_Controller { public function __construct() { parent::__construct(); $this->load->database(); } public function index() { $this->load->view('multiple_input'); } public function simpandata() { if (!empty($this->input->post('addmore'))) { foreach ($this->input->post('addmore') as $key => $value) { $this->db->insert('multiple_input', $value); } } print_r('Data berhasil disimpan'); } } |
Membuat View
Buat sebuah view dengan nama multiple_input.php, kemudian ketikkan script berikut
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
<!DOCTYPE html> <html> <head> <title>Codeigniter - Multiple Input Dinamis dengan JQuery</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous"> <!-- JQuery --> <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> </head> <body> <div class="container"> <h2 class="text-center">Codeigniter - Multiple Input Dinamis dengan JQuery</h2> <div class="form-group"> <form name="add_name" method="POST" action="multipleinput/simpandata"> <div class="table-responsive"> <table class="table" id="multiple_input"> <tr> <td><input type="text" name="addmore[][nama]" placeholder="Masukkan Nama" class="form-control name_list" required="" /></td> <td><button type="button" name="add" id="add" class="btn btn-success">Tambah</button></td> </tr> </table> <input type="submit" name="submit" id="submit" class="btn btn-info" value="Simpan" /> </div> </form> </div> </div> <script type="text/javascript"> $(document).ready(function() { var i = 1; $('#add').click(function() { i++; $('#multiple_input').append('<tr id="row' + i + '" class="dynamic-added"><td><input type="text" name="addmore[][nama]" placeholder="Masukkan Nama" class="form-control name_list" required /></td><td><button type="button" name="remove" id="' + i + '" class="btn btn-danger btn_remove">X</button></td></tr>'); }); $(document).on('click', '.btn_remove', function() { var button_id = $(this).attr("id"); $('#row' + button_id + '').remove(); }); }); </script> </body> </html> |
Jika kita mengikuti langkah-langkah di atas secara benar maka akan di peroleh hasil sebagai berikut.
Demikian tutorial singkat ini, semoga bermanfaat. Silahkan isi komentar jika dirasa ada hal yang kurang jelas. Terimakasih.
That is really fascinating, You are an overly professional blogger.
I have joined your rss feed and sit up for searching for
extra of your great post. Also, I have shared your web site
in my social networks