ระบบค้นหาข้อมูล 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 เพื่อวนลูปแสดงข้อมูลบนหน้าเว็บไซต์