Menyimpan Data Checkbox ke Database dengan PHP - Mari Belajar Coding

Kamis, 04 April 2019

Menyimpan Data Checkbox ke Database dengan PHP


Menyimpan Data Checkbox ke Database dengan PHP

Selamat datang di blog Mari belajar koding. Pada tutorial kali ini kita akan belajar membuat aplikasi simpan data multi checkbox atau simpan banyak data checkbox dengan php. Dengan adanya checkbox untuk membuat sebuah form pilihan teman-teman bisa memilih lebih dari satu pilihan. Contohnya jika ada form pilihan yang berisi pilihan hobi, kita dapat memilih lebih dari satu hobi yang kemudian bisa disimpan kedalam database.

Simpan Data Multiple Checkbox dengan PHP

Buat database dan tabel untuk menyimpan data hobi yang telah di pilih oleh user.
CREATE DATABASE `hobi`;
USE `hobi`;
CREATE TABLE `hobi` (
`id_hobi` int(11) NOT NULL AUTO_INCREMENT,
`hobi` varchar(255),
PRIMARY KEY (`id_hobi`)
);

Menyimpan Data Checkbox ke Database


Buat file koneksi.php di directory xampp/htdocs/latihan-checkbox untuk menghubungkan aplikasi dengan database.
<?php
mysql_connect("localhost","root","");
mysql_select_db("hobi");
?>

Buat file latihan1.php di directory htodcs/latihan-checkbox untuk menampilkan form pilihan hobi dengan checkbox dan data hobi yang berhasil di simpan. 
<!DOCTYPE html>
<html>
<head>
 <title>Mari Belajar Coding</title>
 <?php
  include "koneksi.php";
 ?>
</head>
<body>
 <form method="POST">
  <table>
   <tr>
    <td width="60px" valign="top">Hobi</td>
    <td valign="top"> 
     <label><input type="checkbox" name="hobi[]" value="Nonton">Nonton</label><br>
     <label><input type="checkbox" name="hobi[]" value="Menulis">Menulis</label><br>
     <label><input type="checkbox" name="hobi[]" value="Traveling">Traveling</label><br>
     <label><input type="checkbox" name="hobi[]" value="Otomotif">Otomotif</label><br>
     <label><input type="checkbox" name="hobi[]" value="Fotografi">Fotografi</label><br>
     <label><input type="checkbox" name="hobi[]" value="Programming">Programming</label>
    </td>
   </tr>
   <tr>
    <td width="60px" valign="top"></td>
    <td valign="top"> 
     <input type="submit" name="simpan" value="Simpan">
    </td>
   </tr>
  </table>
 </form>
 <?php
  if (isset($_POST['simpan'])) {
   foreach ($_POST['hobi'] as $value) {
    mysql_query("INSERT into hobi(hobi) VALUES('".$value."')");
   }
  }
 ?>
 <table border="1" width="500px">
  <tr>
   <th width="10%">No</th>
   <th>Hobi</th>
  </tr>
  <?php
  $i=1;
  $sql=mysql_query("SELECT * FROM hobi");
  while ($data=mysql_fetch_array($sql)) {
  ?>
   <tr>
    <td><?=$i++;?></td>
    <td><?=$data['hobi']?></td>
   </tr>
  <?php 
  }
  ?>
  
 </table>
</body>
</html>

Keterangan:
Karena form terdapat beberapa pilihan maka attribute name pada input hobi dibuat array dengan menambahkan kurung siku []. Lihat pada baris yang diberi highlight.


Menyimpan Data Checkbox ke Database

Baca juga: Simpan dan Edit Data Checkbox ke Database dengan PHP

Untuk menjadikan data pilihan menjadi satu record di database, kita menggunakan fungsi implode di php. Fungsi implode mengembalikan string dari elemen array. Salin kode dibawah ini kemudian simpan dengan nama latihan2.php 
<!DOCTYPE html>
<html>
<head>
 <title>Mari Belajar Coding</title>
 <?php
  include "koneksi.php";
 ?>
</head>
<body>
 <form method="POST">
  <table>
   <tr>
    <td width="60px" valign="top">Hobi</td>
    <td valign="top"> 
     <label><input type="checkbox" name="hobi[]" value="Nonton">Nonton</label><br>
     <label><input type="checkbox" name="hobi[]" value="Menulis">Menulis</label><br>
     <label><input type="checkbox" name="hobi[]" value="Traveling">Traveling</label><br>
     <label><input type="checkbox" name="hobi[]" value="Otomotif">Otomotif</label><br>
     <label><input type="checkbox" name="hobi[]" value="Fotografi">Fotografi</label><br>
     <label><input type="checkbox" name="hobi[]" value="Programming">Programming</label>
    </td>
   </tr>
   <tr>
    <td width="60px" valign="top"></td>
    <td valign="top"> 
     <input type="submit" name="simpan" value="Simpan">
    </td>
   </tr>
  </table>
 </form>
 <?php
  if (isset($_POST['simpan'])) {
   $data = implode(",", $_POST['hobi']);
   mysql_query("INSERT into hobi(hobi) VALUES('".$data."')");   
  }
 ?>
 <table border="1" width="500px">
  <tr>
   <th width="10%">No</th>
   <th>Hobi</th>
  </tr>
  <?php
  $i=1;
  $sql=mysql_query("SELECT * FROM hobi");
  while ($data=mysql_fetch_array($sql)) {
  ?>
   <tr>
    <td><?=$i++;?></td>
    <td><?=$data['hobi']?></td>
   </tr>
  <?php 
  }
  ?>  
 </table>
</body>
</html>

Keterangan:
implode: menggabungkan elemen array dengan string.
Menyimpan Data Checkbox ke Database


Related seacrh:
Menyimpan data checkbox ke database
Multiple insert data checkbox php

Related Posts

Load comments