php+mysql如何查询日期内的数据

第一步是建立数据库表并插入一些数据。我们来创建一张表,名为“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[&#39;from_date&#39;]) && isset($_POST[&#39;to_date&#39;])) {
    //将输入的日期格式化为MySQL日期格式
    $from_date = date(&#39;Y-m-d&#39;, strtotime($_POST[&#39;from_date&#39;]));
    $to_date = date(&#39;Y-m-d&#39;, strtotime($_POST[&#39;to_date&#39;]));

    //查询日期区间内的订单数据
    $sql = "SELECT * FROM orders WHERE date >= &#39;$from_date&#39; AND date <= &#39;$to_date&#39;";
    $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 &#39;search.php&#39; ?>
</body>
</html>

这个HTML文件创建了一个表单,允许用户输入起始和结束日期。我们将使用POST方法提交表单到同一页面,然后将上述刚刚创建的PHP代码包含进去。

现在,我们可以在浏览器中打开这个文件,并使用表单来输入日期范围来搜索订单数据。结果将在表格中显示。

以上就是php+mysql如何查询日期内的数据的详细内容,更多请关注其它相关文章!