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