Devdit
 

ระบบค้นหาข้อมูล PHP ฐานข้อมูล MySQL

5.8K

ระบบค้นหาข้อมูล PHP ฐานข้อมูล MySQL บทความนี้สอนเขียนระบบค้นหาข้อมูลจาก MySQL โดยใช้ภาษา PHP จากชุดคำสั่ง mysqli_* เมื่อผู้ใช้งานใส่ข้อมูล และค้นหาจะแสดงข้อมูลที่หน้าเว็บไซต์ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง ข้อมูลในตาราง book

+---------+-------------+------------+
| book_id | book_name   | book_price |
+---------+-------------+------------+
|       1 | PHP & MySQL |     200.00 |
|       2 | Python      |     220.00 |
|       3 | SQL         |     280.00 |
|       4 | Java        |     250.00 |
+---------+-------------+------------+

 

ตัวอย่าง ระบบค้นหาข้อมูล PHP ฐานข้อมูล MySQL

<h4>ระบบค้นหาข้อมูล PHP</h4>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post">
    ค้นหา <input type="text" name="search" placeholder="กรอกคำค้นหา">
    <input type="submit" value="ค้นหา">
</form>
<?php
    isset( $_POST['search'] ) ? $search = $_POST['search'] : $search = "";
    if( !empty( $search ) ) {
        $c = mysqli_connect( "localhost", "root", "", "demo" );
        mysqli_query( $c, "SET NAMES UTF8" );

        $sql = " SELECT * FROM book WHERE ( book_name LIKE '%".$search."%' ) ";
        $q = mysqli_query( $c, $sql );
        while( $f = mysqli_fetch_assoc( $q ) ) {
            echo $f['book_id']." / ".$f['book_name']." / ".$f['book_price']."<br/>";
        }

        mysqli_close( $c );
    }
?>

คำอธิบาย

ระบบค้นหาข้อมูล PHP ฐานข้อมูล MySQL พร้อมแสดงผลลัพธ์จากการค้นหาที่หน้าเว็บไซต์ มีขั้นตอนดังนี้

1. สร้างฟอร์ม HTML กำหนดตัวค้นหาชื่อ search เมื่อผู้ใช้งานกรอกข้อมูล และกดปุ่มค้นหา ตัวแปร search จะถูกส่งมาที่ PHP

2. รับค่าตัวแปร search กรณีมีค่าจะเข้าไปทำงานในคำสั่ง if และเชื่อมต่อฐานข้อมูลชื่อ demo ด้วยคำสั่ง mysqli_connect

3. สร้างคำสั่ง SQL โดยใช้คำสั่ง WHERE ร่วมกับ LIKE เพื่อค้นหาข้อมูลจากคำที่ผู้ใช้งานกรอกเข้ามา

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

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