Devdit
 

PHP แสดงข้อมูลจาก 2 ตารางแบบ join ตาราง

1.6K

PHP แสดงข้อมูลจาก 2 ตารางแบบ join ตาราง บทความนี้สอนการเขียนคำสั่ง SQL เพื่อแสดงข้อมูลจาก 2 ตารางที่มีความเกี่ยวข้องกัน หรือการ join ตาราง โดยใช้คำสั่ง INNER JOIN สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง โครงสร้าง และข้อมูลของตาราง book และ category

ตาราง book
+---------+-------------+-------------+
| book_id | book_name   | book_cgy_id |
+---------+-------------+-------------+
|       1 | PHP & MySQL |           1 |
|       2 | MS SQL      |           5 |
|       3 | SQL         |           2 |
|       4 | NOSQL       |           5 |
+---------+-------------+-------------+
ตาราง category
+--------+-------------+
| cgy_id | cgy_name    |
+--------+-------------+
|      1 | Programming |
|      2 | Networking  |
|      5 | Database    |
+--------+-------------+

 

ตัวอย่าง PHP แสดงข้อมูลจาก 2 ตารางแบบ join ตาราง

<?php
    $c = mysqli_connect("localhost", "root", "", "demo");
    $sql = "
            SELECT *
            FROM book
            INNER JOIN category ON ( book_cgy_id = cgy_id )
           ";
    $q = mysqli_query( $c, $sql );
    while( $f = mysqli_fetch_assoc( $q ) ) {
        echo $f['book_id']." / ".$f['book_name']." / ".$f['cgy_id']." / ".$f['cgy_name']."<br/>";
    }
    mysqli_close( $c );
?>

ผลลัพธ์

1 / PHP & MySQL / 1 / Programming
2 / MS SQL / 1 / Programming
3 / SQL / 2 / Networking
4 / NOSQL / 2 / Networking

คำอธิบาย

PHP แสดงข้อมูลจาก 2 ตาราง คือ ตาราง book และ category ผ่านคำสั่ง INNER JOIN category ON ( book_cgy_id = cgy_id ) หมายความว่า join ตาราง category กับ book โดยข้อมูลใน column book_cgy_id ต้องเท่ากับ cgy_id เท่านั้น ข้อมูลถึงจะแสดงออกมา

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