Devdit
 

PHP SELECT ข้อมูลไม่ซ้ำจากฐานข้อมูล MySQL

2.2K

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 พิมพ์ค่าข้อมูลออกสู่หน้าเว็บไซต์

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