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`)
);
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.
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
Karena form terdapat beberapa pilihan maka attribute name pada input hobi dibuat array dengan menambahkan kurung siku []. Lihat pada baris yang diberi highlight.
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.
implode: menggabungkan elemen array dengan string.