Devdit
 

เก็บค่า Checkbox ลงฐานข้อมูล PHP MySQL

4.4K

เก็บค่า 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 พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ

แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ