PHP ค้นหาข้อมูลตามช่วงเวลา MySQL บทความนี้สอนเขียนโปรแกรมค้นหาข้อมูลโดยให้ผู้ใช้งานเลือกช่วงเวลา คือ วันที่ ถึง วันที่ เพื่อค้นหาข้อมูล และแสดงผลลัพธ์ออกสู่หน้าเว็บไซต์ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง ข้อมูลในตาราง product
+----+--------+-------+------------+
| id | title | price | date |
+----+--------+-------+------------+
| 1 | orange | 10.00 | 2022-07-01 |
| 2 | apple | 25.00 | 2022-07-05 |
| 3 | banana | 18.00 | 2022-07-08 |
+----+--------+-------+------------+
ตัวอย่าง PHP ค้นหาข้อมูลตามช่วงเวลา MySQL
<form action="index.php" method="POST">
<b>วันที่</b>
<input type="date" name="date1">
<b>ถึง</b>
<input type="date" name="date2">
<input type="submit" value="ค้นหาข้อมูล">
</form>
<?php
isset( $_POST['date1'] ) ? $date1 = $_POST['date1'] : $date1 = "";
isset( $_POST['date2'] ) ? $date2 = $_POST['date2'] : $date2 = "";
if( !empty( $date1 ) && !empty( $date2 ) ) {
$conn = mysqli_connect( "localhost", "root", "", "example" );
mysqli_query( $conn, "SET NAMES UTF8" );
$sql = "
SELECT *
FROM product
WHERE ( date BETWEEN '{$date1}' AND '{$date2}' )
";
$q = mysqli_query( $conn, $sql );
echo "<div style='margin-top: .5rem;'>";
while( $f = mysqli_fetch_assoc( $q ) ) {
echo $f['id']." / ".$f['title']." / ".$f['date']."<br/>";
}
echo "</div>";
mysqli_close( $conn );
}
?>
PHP ค้นหาข้อมูลตามช่วงเวลา MySQL จากตัวอย่างสร้างฟอร์มพร้อม input date 2 อันด้วยตัวแปรชื่อ date1 และ date2 เมื่อผู้ใช้งานกดปุ่ม submit รับค่าตัวแปรทั้ง 2 ด้วยคำสั่ง $_POST และนำมาเขียนคำสั่ง SQL ในส่วนของเงื่อนได้เป็น WHERE ( date BETWEEN '{$date1}' AND '{$date2}' ) หมายความว่าให้แสดงข้อมูลโดย column date ต้องอยู่ในช่วงเวลาของตัวแปร date1 และ date2 ที่ใช้งานเลือก จากนั้นประมวลผลคำสั่ง SQL และแสดงข้อมูลออกสู่หน้าจอ