Devdit
 

PHP แสดงข้อมูลซ้ำจากตาราง ฐานข้อมูล MySQL/MariaDB

2.8K

PHP แสดงข้อมูลซ้ำจากตาราง ฐานข้อมูล MySQL/MariaDB บทความนี้สอนเขียนภาษา PHP ร่วมกับฐานข้อมูล MySQL/MariaDB เพื่อแสดงข้อมูลซ้ำออกมาด้วยคำสั่ง SQL สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง ข้อมูลจากตาราง test มีข้อมูลที่ซ้ำคือ A และ B

+----+------+
| id | name |
+----+------+
|  1 | A    |
|  2 | B    |
|  3 | B    |
|  4 | D    |
|  5 | A    |
|  6 | E    |
+----+------+

 

ตัวอย่าง PHP แสดงข้อมูลซ้ำจากตาราง ฐานข้อมูล MySQL/MariaDB

<?php
    $c = mysqli_connect( "127.0.0.1", "root", "", "demo" );
    mysqli_query( $c, "SET NAMES UTF8" );

    $sql = " SELECT * FROM test GROUP BY name HAVING COUNT(name) > 1 ";
    $q = mysqli_query( $c, $sql );
    while( $f = mysqli_fetch_assoc( $q )) {
        echo $f['id']." / ".$f['name']."<br/>";
    }

    mysqli_close( $c );
?>

ผลลัพธ์

1 / A
2 / B

คำอธิบาย

PHP แสดงข้อมูลซ้ำจากตาราง ฐานข้อมูล MySQL/MariaDB มีรายละเอียดขั้นตอนดังนี้

1. เชื่อมต่อฐานข้อมูล demo ของ MySQL ด้วย mysqli_connect

2. เขียนคำสั่ง SQL เพื่อแสดงข้อมูลซ้ำจากตาราง test ส่วนสำคัญคือ GROUP BY name HAVING COUNT(name) > 1 หมายความว่าให้รวมข้อมูล name ที่ซ้ำกัน และแสดงเฉพาะ COUNT name ที่มากกว่า 1 (ถ้าไม่ซ้ำจะมีค่าเท่ากับ 1)

3. ใช้คำสั่ง mysqli_query เพื่อรันคำสั่ง SQL และใช้คำสั่ง mysqli_fetch_assoc เพื่อดึงข้อมูล พร้อมกับใช้ while เพื่อวนลูปแสดงข้อมูลบนหน้าเว็บไซต์ ด้วยคำสั่ง echo

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