เก็บค่า Checkbox ลงฐานข้อมูล PHP MySQL บทความนี้สอนวิธีสร้างฟอร์มพร้อม input checkbox จากนั้นส่งค่าไปที่ PHP และนำค่าของ checkbox ไปเก็บ หรือบันทึกลงฐานข้อมูล สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง เก็บค่า Checkbox ลงฐานข้อมูล PHP MySQL
1. สร้าง database ชื่อ example และ table ชื่อ words
CREATE TABLE `words` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4
2. เขียนโค้ด เก็บค่า Checkbox ลงฐานข้อมูล
<form action="index.php" method="POST">
<b>เลือกตัวอักษร</b><br/>
A <input type="checkbox" value="A" name="words[]"><br/>
B <input type="checkbox" value="B" name="words[]"><br/>
C <input type="checkbox" value="C" name="words[]"><br/>
D <input type="checkbox" value="D" name="words[]"><br/>
E <input type="checkbox" value="E" name="words[]"><br/>
<input type="submit" value="บันทึกข้อมูล">
</form>
<?php
isset( $_POST['words'] ) ? $words = $_POST['words'] : $words = array();
if( count( $words ) > 0 ) {
$conn = mysqli_connect( "localhost", "root", "", "example" );
mysqli_query( $conn, "SET NAMES UTF8" );
$query = "";
foreach( $words as $w ) {
$query .= " ( '{$w}' ), ";
}
$query = rtrim($query, ", ");
$sql = " INSERT INTO words ( name ) VALUES {$query} ";
$q = mysqli_query( $conn, $sql );
if( $q ) {
echo "<div style='margin-top:.5rem;'>เก็บค่า Checkbox ลงฐานข้อมูลเรียบร้อย</div>";
}
mysqli_close( $conn );
}
?>
ผลลัพธ์
เก็บค่า Checkbox ลงฐานข้อมูลเรียบร้อย
+----+------+
| id | name |
+----+------+
| 25 | B |
| 26 | C |
| 27 | D |
+----+------+
เก็บค่า Checkbox ลงฐานข้อมูล PHP มีรายละเอียดการเขียนโปรแกรมดังนี้
1. สร้างฟอร์มพร้อม input checkbox กำหนดชื่อตัวแปร คือ words[] เป็นชนิด array และรับค่าตัวแปรดังกล่าวด้วย $_POST
2. เชื่อมต่อฐานข้อมูล และวนลูปตัวแปร words สร้างส่วนของคำสั่ง SQL ด้านหลัง VALUES เช่น ( ‘B’ ), ( ‘C’ ), ( ‘D’ )
3. ใช้คำสั่ง INSERT INTO สำหรับเพิ่มข้อมูลลงตาราง words
4. ใช้คำสั่ง mysqli_query ประมวลผลคำสั่ง SQL พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ