Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menanyakan data dalam tarikh dengan php+mysql

Bagaimana untuk menanyakan data dalam tarikh dengan php+mysql

WBOY
WBOYke hadapan
2023-05-30 20:13:16919semak imbas

Langkah pertama ialah mencipta jadual pangkalan data dan memasukkan beberapa data. Mari buat jadual bernama "pesanan", termasuk medan berikut:

  • id: ID kenaikan diri

  • tarikh: Tarikh pesanan

  • Amaun: Jumlah pesanan

Buat jadual menggunakan pernyataan SQL berikut:

CREATE TABLE orders (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
date DATE,
amount DECIMAL(10,2)
);

Seterusnya, kita boleh memasukkan beberapa Untuk menguji data, gunakan pernyataan SQL berikut:

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);

Sekarang kita mempunyai jadual yang mengandungi data pesanan.

Langkah seterusnya ialah menulis kod PHP untuk menanyakan data dalam julat tarikh. Kami akan mencipta fail baharu bernama "search.php" dan kemudian menggunakan kod berikut:

<?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();
?>

Kod ini bersambung ke pangkalan data dan kemudian menyemak julat tarikh carian yang dimasukkan oleh pengguna. Jika julat tarikh dimasukkan, skrip akan memformat tarikh yang dimasukkan ke dalam format tarikh MySQL, kemudian menanyakan data pesanan dan mengeluarkan keputusan dalam jadual. Jika tiada hasil, "0 hasil" akan dikeluarkan.

Sekarang, kita perlu mencipta borang HTML yang menerima input pengguna Berikut ialah kod lengkap untuk fail "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>

Fail HTML ini mencipta borang yang membenarkan. pengguna untuk memasukkan tarikh mula dan tamat. Kami akan menggunakan kaedah POST untuk menyerahkan borang ke halaman yang sama dan kemudian memasukkan kod PHP yang baru kami buat di atas.

Kini kami boleh membuka fail ini dalam penyemak imbas dan menggunakan borang untuk memasukkan julat tarikh untuk mencari data pesanan. Keputusan akan dipaparkan dalam jadual.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan data dalam tarikh dengan php+mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam