PHP ค้นหาข้อมูลตามวันที่ จากฐานข้อมูล บทความนี้สอนสร้างฟอร์ม HTML ให้ผู้ใช้งานเลือกวันที่ และนำวันที่ดังกล่าวไปค้นหาข้อมูลในฐานข้อมูล MySQL พร้อมแสดงผลลัพธ์ออกสู่หน้าเว็บไซต์ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง PHP ค้นหาข้อมูลตามวันที่ จากฐานข้อมูล
1. สร้างฐานข้อมูลชื่อ example และรันคำสั่ง SQL เพื่อสร้างตาราง product และข้อมูลเริ่มต้น
CREATE TABLE `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` char(255) NOT NULL,
`price` double(12,2) DEFAULT NULL,
`date` date DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4
+----+--------+-------+------------+
| id | title | price | date |
+----+--------+-------+------------+
| 1 | pen | 10.00 | 2022-07-15 |
| 2 | pencil | 15.00 | 2022-07-15 |
| 3 | book | 18.00 | 2022-07-17 |
+----+--------+-------+------------+
2. เขียนโค้ด PHP ค้นหาข้อมูลตามวันที่
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
วันที่ <input type="date" name="date">
<input type="submit" value="ค้นหาข้อมูล">
</form>
<?php
isset( $_POST['date'] ) ? $date = $_POST['date'] : $date = "";
if( !empty( $date ) ) {
echo "<div style='margin-top:.5rem'><b>ค้นหาข้อมูลตามวันที่</b></div>";
$c = mysqli_connect( "127.0.0.1", "root", "", "example" );
mysqli_query( $c, "SET NAMES UTF8" );
$sql = " SELECT * FROM product WHERE ( date = '{$date}' ) ";
$q = mysqli_query( $c, $sql );
while( $f = mysqli_fetch_assoc( $q ) ) {
echo $f['id']." - ".$f['title']." - ".$f['date']."<br/>";
}
mysqli_close( $c );
}
?>
PHP ค้นหาข้อมูลตามวันที่ จากฐานข้อมูล มีรายละเอียดดังนี้
1. สร้างฟอร์ม HTML ประกอบด้วย input date ตัวแปรชื่อ date เพื่อใช้ในการค้นหาวันที่ของ PHP
2. รับค่าตัวแปร date ด้วย $_POST จากนั้นเชื่อมต่อฐานข้อมูลด้วย mysqli_connect
3. คำสั่ง SELECT * FROM product WHERE ( date = '{$date}' ) คือ แสดงข้อมูลจากตาราง product เงื่อนไขคือ column date ต้องมีค่าเท่ากับตัวแปร $date
4. ประมวลผลคำสั่ง SQL ด้วยคำสั่ง mysqli_query และดึงข้อมูลด้วย mysqli_fetch_assoc พร้อมใช้คำสั่ง echo แสดง column id, title และ date ออกสู่หน้าจอ
5. ปิดการเชื่อมต่อด้วยคำสั่ง mysqli_close