第一步是建立資料庫表並插入一些資料。我們來建立一張表,名為“orders”,包括以下欄位:
id: 自增ID
date: 下單日期
amount: 訂單金額
#使用下列SQL語句建立表格:
CREATE TABLE orders ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, date DATE, amount DECIMAL(10,2) );
接下來,我們可以插入一些測試數據,使用以下SQL語句:
INSERT INTO orders (date, amount) VALUES ('2021-01-01', 100), ('2021-01-02', 50), ('2021-01-03', 200), ('2021-01-04', 150), ('2021-01-05', 75);
現在我們有一個包含訂單資料的表。
下一步是寫PHP程式碼來查詢日期區間內的資料。我們將新建一個檔案命名為“search.php”,然後使用下面的程式碼:
<?php //连接数据库,以下为参数示例 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database_name"; $conn = new mysqli($servername, $username, $password, $dbname); //检查是否连接成功 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //检查搜索日期的输入 if (isset($_POST['from_date']) && isset($_POST['to_date'])) { //将输入的日期格式化为MySQL日期格式 $from_date = date('Y-m-d', strtotime($_POST['from_date'])); $to_date = date('Y-m-d', strtotime($_POST['to_date'])); //查询日期区间内的订单数据 $sql = "SELECT * FROM orders WHERE date >= '$from_date' AND date <= '$to_date'"; $result = $conn->query($sql); //输出查询结果 if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Date</th><th>Amount</th></tr>"; while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["id"]."</td><td>".$row["date"]."</td><td>".$row["amount"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } } //关闭连接 $conn->close(); ?>
這段程式碼連接到資料庫,然後檢查使用者輸入的搜尋日期範圍。如果輸入了日期範圍,腳本會將輸入的日期格式化為MySQL日期格式,然後查詢訂單數據,以表格的形式輸出結果。如果沒有結果,將輸出“0 results”。
現在,我們需要建立接收使用者輸入的HTML表單,以下是「search.php」檔案的完整程式碼:
<!DOCTYPE html> <html> <head> <title>Search Orders By Date Range</title> </head> <body> <h2>Search Orders By Date Range</h2> <form method="POST" action="search.php"> From: <input type="text" name="from_date" placeholder="YYYY-MM-DD"> To: <input type="text" name="to_date" placeholder="YYYY-MM-DD"> <input type="submit" value="Search"> </form> <?php include 'search.php' ?> </body> </html>
這個HTML檔案建立了一個表單,讓使用者輸入起始和結束日期。我們將使用POST方法提交表單到同一頁面,然後將上述剛剛建立的PHP程式碼包含進去。
現在,我們可以在瀏覽器中開啟這個文件,並使用表單輸入日期範圍來搜尋訂單資料。結果將在表格中顯示。
以上是php+mysql如何查詢日期內的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!