如何使用PHP + MySQL在特定日期范围内查询数据?
PhpStorm 是 JetBrains 推出的专业 PHP 集成开发环境,可在 Mac 上完成代码编写、智能检查、重构、调试、测试和数据库管理。它支持主流 PHP 框架、Composer、Git、Docker 与远程解释器。
第一步是建立数据库表并插入一些数据。我们来创建一张表,名为“orders”,包括以下字段:id:自增IDdate:下单日期amount:订单金额使用以下SQL语句创建表:CREATETABLEorders(idINT(11)UNSIGNEDAUTO_INCREMENTPRIMARYKEY,dateDATE,amountDECIMAL(10,2));接下来,我们可以插入一些测试数据,使用以下SQL语句:INSERTINTOorders(date,amount)VALUES('2021-01-01
第一步是建立数据库表并插入一些数据。我们来创建一张表,名为“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”的文件,并使用以下代码:
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 "| ID | Date | Amount |
|---|---|---|
| ".$row["id"]." | ".$row["date"]." | ".$row["amount"]." |
这段代码连接到数据库,然后检查用户输入的搜索日期范围。如果输入了日期范围,脚本会将输入的日期格式化为MySQL日期格式,然后查询订单数据,用表格的形式输出结果。如果没有结果,将输出“0 results”。
现在,我们需要创建接收用户输入的HTML表单,以下是“search.php”文件的完整代码:
Search Orders By Date Range Search Orders By Date Range
这个HTML文件创建了一个表单,允许用户输入起始和结束日期。表单将使用POST方法提交到相同的页面,接着包含上面我们刚刚创建的PHP代码。
现在,我们可以在浏览器中打开这个文件,并使用表单来输入日期范围来搜索订单数据。结果将在表格中显示。










































