kali ini saya akan share cara membuat multiple insert record ke mysql, kelebihan dari menggunakan multiple ini anda tidak perlu menginput data satu per satu dan mungkin bisa menjadi alternatif bagi anda yang akan menginput data dalam jumlah banyak.
dan terkadang dalam pembuatan aplikasi user atau client meminta di sediakan multiple insert record atau menginput data secara dinamis yang dimaksudkan dinamis adalah kita bisa menambahkan baris dengan sebuah tombol atau link, jadi setiap tombol atau link tersebut di klik, maka akan muncul satu baris baru di bawahnya untuk menampilkan field inputan.
kebanyakan aplikasi biasanya menggunakan jQuery untuk menambakan field inputan baru, karena dalam modul jQuery sudah di sediakan funtion function yang bisa di gunakan secara mudah, tapi dalam tutorial ini saya tidak akan menggunakan modul dari jQuery karena dengan javascript biasa pun tidak terlalu rumit untuk menambahkan child baru di dalam parent element
Ok kita langsung saja ka inti permasalahannya, buatlah database dengan nama terserah anda lalau buat table dengan nama users, untuk lebih cepatnya salin kode berikut dan jalankan di sql
-- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `address` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;jika database dan table sudah di buat, sekarang buat projek dengan nama terserah anda kemudian buat koneksi yang akan menghubungkan database dengan script php
salin kode dibawah ini lalu simpan di dalamm projek yang sudah anda buat dengan nama koneksi.php
<?php $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'belajardb'; $conn = mysql_connect($host, $user, $pass); mysql_select_db($db, $conn);untuk data koneksi ini sesuikan dengan database yang sudah anda buat
setelah itu buat file dengan nama index.php yang fungsinya akan menampilkan data dari hasil inputan
silahkan salin kode berikut
<?php require_once __DIR__.'/koneksi.php'; ?> <!DOCTYPE html> <html> <head> <title>MULTIPLE INSERT</title> </head> <body> <a href="tambah.php">Tambah data</a> <table border="1"> <thead> <tr> <td>ID</td> <td>NAME</td> <td>ADDRESS</td> </tr> </thead> <tbody> <?php // set query $sql = 'SELECT * FROM users'; $rs = mysql_query($sql) or die ($sql); // loop data users while ($row = mysql_fetch_array($rs)) { $id = (int) $row['id']; $name = $row['name']; $address = $row['address']; ?> <tr> <td><?php echo $id; ?></td> <td><?php echo $name; ?></td> <td><?php echo $address; ?></td> </tr> <?php } ?> </tbody> </table> </body> </html>dalam file index ada link Tambah data yang ketika di klik akan mengarahkan ke file tambah.php, untuk itu langkah selanjutnya buat file dengan nama tambah.php dan salin kode berikut
<!DOCTYPE html> <html> <head> <title>MULTIPLE INSERT</title> <script type="text/javascript"> function add() { var content = ''; content += '<a href="javascript:;" onclick="hapus(this)">Hapus record</a><br />'; content += 'Nama : <input type="text" name="name[]"><br />'; content += 'Address : <textarea name="address[]"></textarea><br />'; content += '<hr />'; var x = document.createElement('div'); x.innerHTML = content; document.getElementById('record').appendChild(x); } function hapus(element) { var x = document.getElementById('record'); x.removeChild(element.parentNode); } </script> </head> <body> TAMBAH DATA <hr/> <a href="javascript:add();">Tambah record</a> <br /> <form action="aksi.php" method="POST"> <pre> Nama : <input type="text" name="name[]"> Address : <textarea name="address[]"></textarea> <hr /> <div id="record"></div> </pre> <button>TAMBAH DATA</button> </form> </body> </html>dalam file tambah saya menambahkan link Tambah record, ketika link tambah record di klik maka akan muncul satu baris baru untuk inputan field, dan di setiap inputan field yang di tambahkan akan ada link Hapus record yang fungsinya untuk menghapus barus baru berdasarkan record field yang di pilih
dan yang terakhir buat file dengan nama aksi.php kemudian salin kode berikut
<?php // panghil koneksi require_once __DIR__.'/koneksi.php'; // loop data field dari inputan foreach ($_POST['name'] as $key=>$val) { $name = $_POST['name'][$key]; $address = $_POST['address'][$key]; // insert to mysql $sql = 'INSERT INTO users SET'; $sql .= ' name="'.$name.'",'; $sql .= ' address="'.$address.'"'; mysql_query($sql) or die ($sql); } // kembalikan ke index header('Location: index.php');setelah semua file sudah buat sekarang buka projek yang sudah anda buat dengan browser, lalu cobalah menambahkan data
Ok sampai disini dulu tutorial kali ini selamat mencoba dan semoga bisa bermanfaat
good job gan
ReplyDeletepembersih mata solder