Membuat Multiple Update Record Ke MySQL


Membuat Multiple Update Record Ke MySQL

kalau tadi saya share tutorial cara membuat multiple insert record ke mysql, kali ini saya akan share cara multiple update record ke mysql, cara ini mungkin bisa menjadi alternatif bagi anda yang akan mengupdate data dalam jumlah banyak, selain mempersingkat waktu yang di butuhkan ketika mengupdate data juga mempermudah anda agar tidak mengupdate data satu per satu
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 AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES ('1', 'Rohmat', 'Jalan babakan jati 1 bandung');
INSERT INTO `users` VALUES ('2', 'Heny', 'Jalan babakan jati 2 bandung');
INSERT INTO `users` VALUES ('3', 'Jason', 'Jalan babakan jati 3 bandung');
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 lalu salin kode berikut
<?php require_once __DIR__.'/koneksi.php'; ?>
<!DOCTYPE html>
<html>
<head>
<title>MULTIPLE UPDATE</title>
</head>
<body>
<form method="post" action="update.php">
<button>UPDATE</button>
<table border="1">
 <thead>
  <tr>
   <td>#</td>
   <td>ID</td>
   <td>NAME</td>
   <td>ADDRESS</td>
  </tr>
 </thead>
 <tbody>
  <?php
   $sql = 'SELECT * FROM users';
   $rs = mysql_query($sql) or die ($sql);

   while ($row = mysql_fetch_array($rs)) {
    $id = (int) $row['id'];
    $name = $row['name'];
    $address = $row['address'];
  ?>
  <tr>
   <td><input type="checkbox" name="id[]" value="<?php echo $id; ?>"></td>
   <td><?php echo $id; ?></td>
   <td><?php echo $name; ?></td>
   <td><?php echo $address; ?></td>
  </tr>
  <?php } ?>
 </tbody>
</table>
</form>
</body>
</html>
dalam file index ada button update yang ketika di klik akan mengarahkan ke halaman udpate.php tapi dengan catatan sudah ada record yang sudah di ceklist, kalau tidak ada record yang di ceklist maka akan di kembalikan ke halaman index.php
sekarang buat file dengan nama update.php kemudian salin kode berikut
<!DOCTYPE html>
<html>
<head>
<title>MULTIPLE UPDATE</title>
</head>
<body>
UPDATE DATA
<hr/>
<form action="aksi.php" method="POST">
<pre>
<?php
 // memanggil koneksi
 require_once __DIR__.'/koneksi.php';

 // jika checkbox yang di pilih lebih 0
 if (count($_POST['id']) == 0) {
  header('Location: index.php');
 }

 foreach ($_POST['id'] as $key=>$val) {
  $id = (int) $_POST['id'][$key];

  // set query berdasarkan id
  $sql = 'SELECT * FROM users';
  $sql .= ' WHERE id='.$id;

  // execute query
  $rs = mysql_query($sql) or die ($sql);
  $row = mysql_fetch_array($rs);

  // fetch data
  $name = $row['name'];
  $address = $row['address'];
?>
<input type="hidden" name="id[]" value="<?php echo $id; ?>">
Nama : <input type="text" name="name[]" value="<?php echo $name; ?>">
Address : <textarea name="address[]"><?php echo $address; ?></textarea>
<hr />
<?php } ?>
</pre>
<button>UPDATE DATA</button>
</form>
</body>
</html>
dalam file update akan menampilkan jumlah record yang di ceklist pada halaman index
dan yang terakhir buat file dengan nama aksi.php kemudian salin kode berikut
<?php
 // panghil koneksi
 require_once __DIR__.'/koneksi.php';

 // loop data field
 foreach ($_POST['id'] as $key=>$val) {
  $id = (int) $_POST['id'][$key];
  $name = $_POST['name'][$key];
  $address = $_POST['address'][$key];

  // udpate data
  $sql = 'UPDATE users SET';
  $sql .= ' name="'.$name.'",';
  $sql .= ' address="'.$address.'"';
  $sql .= ' WHERE id='.$id;
  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 ceklist beberapa record kemudian klik button update
Ok sampai disini dulu tutorial kali ini selamat mencoba dan semoga bisa bermanfaat

Berbagi Via

Share Facebook Share Twitter Share Google+ Share Pinterest
Jangan lupa tinggalkan komentarnya ya :)

3 comments:

  1. gan kalo misalkan mau update semua datanya sekaligus tanpa ceklis gmn?

    ReplyDelete
  2. ArenaDomino Partner Terbaik Untuk Permainan Kartu Anda!
    Halo Bos! Selamat Datang di ( arenakartu.org )
    Arenadomino Situs Judi online terpercaya | Dominoqq | Poker online
    Daftar Arenadomino, Link Alternatif Arenadomino Agen Poker dan Domino Judi Online Terpercaya Di Asia
    Daftar Dan Mainkan Sekarang Juga 1 ID Untuk Semua Game
    ArenaDomino Merupakan Salah Satu Situs Terbesar Yang Menyediakan 9 Permainan Judi Online Seperti Domino Online Poker Indonesia,AduQQ & Masih Banyak Lain nya,Disini Anda Akan Nyaman Bermain :)

    Game Terbaru : Perang Baccarat !!!

    Promo :
    - Bonus Rollingan 0,5%, Setiap Senin
    - Bonus Referral 20% (10%+10%), Seumur Hidup


    Wa :+855964967353
    Line : arena_01
    WeChat : arenadomino
    Yahoo! : arenadomino

    Situs Login : arenakartu.org

    Kini Hadir Deposit via Pulsa Telkomsel / XL ( Online 24 Jam )
    Min. DEPO & WD Rp 20.000,-

    INFO PENTING !!!
    Untuk Kenyamanan Deposit, SANGAT DISARANKAN Untuk Melihat Kembali Rekening Kami Yang Aktif Sebelum Melakukan DEPOSIT di Menu SETOR DANA.

    ReplyDelete
  3. ArenaDomino Partner Terbaik Untuk Permainan Kartu Anda!
    Halo Bos! Selamat Datang di ( arenakartu.org )
    Arenadomino Situs Judi online terpercaya | Dominoqq | Poker online
    Daftar Arenadomino, Link Alternatif Arenadomino Agen Poker dan Domino Judi Online Terpercaya Di Asia
    Daftar Dan Mainkan Sekarang Juga 1 ID Untuk Semua Game
    ArenaDomino Merupakan Salah Satu Situs Terbesar Yang Menyediakan 9 Permainan Judi Online Seperti Domino Online Poker Indonesia,AduQQ & Masih Banyak Lain nya,Disini Anda Akan Nyaman Bermain :)

    Game Terbaru : Perang Baccarat !!!

    Promo :
    - Bonus Rollingan 0,5%, Setiap Senin
    - Bonus Referral 20% (10%+10%), Seumur Hidup


    Wa :+855964967353
    Line : arena_01
    WeChat : arenadomino
    Yahoo! : arenadomino

    Situs Login : arenakartu.org

    Kini Hadir Deposit via Pulsa Telkomsel / XL ( Online 24 Jam )
    Min. DEPO & WD Rp 20.000,-

    INFO PENTING !!!
    Untuk Kenyamanan Deposit, SANGAT DISARANKAN Untuk Melihat Kembali Rekening Kami Yang Aktif Sebelum Melakukan DEPOSIT di Menu SETOR DANA.

    ReplyDelete