Devdit
 

สร้าง QR Code จากฐานข้อมูล PHP

2.4K

บทความนี้สอนเขียนโปรแกรมสร้าง QR Code จากฐานข้อมูลด้วยภาษา PHP โดยฐานข้อมูลที่ใช้จะเป็น MySQL ตัวอย่างโค้ดจะเริ่มจากเชื่อมต่อฐานข้อมูล และแสดงรายการสินค้า พร้อมสร้าง QR Code เมื่อสแกนแล้วจะพบข้อมูลสินค้าที่กำหนดไว้ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง สร้าง QR Code จากฐานข้อมูล PHP

1. ดาวน์โหลด PHP QR Code library จากลิงก์ด้านล่าง โดยคลิกเมนู Download เมื่อดาวน์โหลดแล้วให้แตกไฟล์ และคัดลอก folder phpqrcode ไปวางไว้ใน folder ของ project

https://phpqrcode.sourceforge.net/

 

2. สร้างฐานข้อมูล และตารางชื่อ product พร้อมนำเข้าข้อมูลจาก SQL ด้านล่าง

CREATE TABLE `product` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `product` (`id`, `name`) VALUES
(1,	'Computer'),
(2,	'Nodebook'),
(3,	'Mobile Phone');

 

3. เขียนโปรแกรมด้วยภาษา PHP สร้าง QR Code จากข้อมูลในฐานข้อมูล MySQL

<?php   
    include('phpqrcode/qrlib.php'); 

    $servername = "localhost";
    $username = "root";
    $password = "rootpassword";
    $dbname = "mydatabase";

    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = " SELECT id, name FROM product ";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        echo "
                <center>
                    <table width='30%'>
                        <tr>
                            <td><b>ID</b></td>
                            <td><b>Name</b></td>
                            <td align='center'><b>QR Code</b></td>
                        </tr>
            ";
        while($row = $result->fetch_assoc()) {
        
            $content = $row["id"]." / ".$row["name"];
            ob_start();
            QRcode::png($content, null);
            $qr_code = base64_encode(ob_get_contents());
            ob_end_clean();
        
            echo "
                    <tr>
                        <td>".$row["id"]."</td>
                        <td>".$row["name"]."</td>
                        <td align='center'>
                        	<img src='data:image/png;base64,".$qr_code."'>
                        </td>
                    </tr>
                 ";
        }
        echo "
                    </table>
                </center>
             ";
    } 
    $conn->close();
?>

จากโค้ดโปรแกรมอธิบายได้ดังนี้

- เรียกใช้ PHP QR Code library ด้วยการ include ไฟล์ phpqrcode/qrlib.php

- เชื่อมต่อ MySQL ฐานข้อมูลชื่อ mydatabase และตารางชื่อ product

- เขียน SQL แสดงข้อมูลทั้งหมดจากตาราง product

- วนลูป และแสดงข้อมูลในรูปแบบตารางประกอบด้วย ID, Name และ QR Code

- สร้าง QR Code ด้วยคำสั่ง QRcode::png โดยจะเป็นแบบไม่บันทึกเป็นรูปภาพไว้ใน Server

- แต่ละ QR Code จะเก็บข้อมูล id / name ที่อยู่ในตาราง product เมื่อสแกนจะพบข้อมูลดังกล่าว

- แสดง QR Code ออกสู่หน้าจอผ่านแท็ก img ร่วมกับ data:image/png;base64

 

สรุป การสร้าง QR Code จากฐานข้อมูลด้วยภาษา PHP สามารถทำได้ง่ายๆ ด้วยการ SELECT ข้อมูลด้วย SQL ตามที่ต้องการ จากนั้นเมื่อวนลูปก็เรียกใช้ PHP QR Code library เพื่อสร้าง QR Code แต่ละแถวข้อมูลที่ต้องการ พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ

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