PHP SELECT ข้อมูลไม่ซ้ำจากฐานข้อมูล MySQL บทความนี้สอนเขียนภาษา PHP ร่วมกับฐานข้อมูล MySQL เพื่อสร้างชุดคำสั่ง SQL สำหรับ SELECT ข้อมูลไม่ซ้ำจากตาราง สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง ข้อมูลภายในตาราง test มีข้อมูลที่ไม่ซ้ำคือ D และ E
+----+------+
| id | name |
+----+------+
| 1 | A |
| 2 | B |
| 3 | B |
| 4 | D |
| 5 | A |
| 6 | E |
+----+------+
ตัวอย่าง PHP SELECT ข้อมูลไม่ซ้ำจากฐานข้อมูล MySQL
<?php
$conn = mysqli_connect( "127.0.0.1", "root", "", "demo" );
mysqli_query( $conn, "SET NAMES UTF8" );
$sql = " SELECT *, COUNT(NAME) AS count_name FROM test GROUP BY name HAVING count_name = 1 ";
$q = mysqli_query( $conn, $sql );
while( $f = mysqli_fetch_assoc( $q )) {
echo $f['id']." / ".$f['name']."<br/>";
}
mysqli_close( $conn );
?>
ผลลัพธ์
4 / D
6 / E
PHP SELECT ข้อมูลไม่ซ้ำจากฐานข้อมูล MySQL มีลำดับขั้นการเขียนโปรแกรมดังนี้
1. เชื่อมต่อฐานข้อมูล MySQL ชื่อ demo ด้วยคำสั่ง mysqli_connect
2. เขียนคำสั่ง SQL โดยการนับ column name ด้วยคำสั่ง COUNT ตั้งชื่อว่า count_name จากนั้นใช้คำสั่ง GROUP BY รวมข้อมูลที่ซ้ำกันของ column name และกำหนดให้แสดงเฉพาะข้อมูลที่ไม่ซ้ำด้วย HAVING count_name = 1 (กรณีถ้าซ้ำข้อมูล count_name จะมากกว่า 1) จากตาราง test
3. รันคำสั่ง SQL ด้วย mysqli_query และวนลูปข้อมูลด้วย while ร่วมกับคำสั่ง mysqli_fetch_assoc โดยภายใน while ใช้คำสั่ง echo พิมพ์ค่าข้อมูลออกสู่หน้าเว็บไซต์