Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menanyakan data dalam tarikh dengan php+mysql

Bagaimana untuk menanyakan data dalam tarikh dengan php+mysql

PHPz
PHPzasal
2023-03-23 16:53:181456semak imbas

PHP dan MySQL adalah salah satu teknologi yang paling biasa digunakan untuk pembangunan web. Dalam pembangunan, selalunya perlu untuk menanyakan data dalam julat masa tertentu. Dalam artikel ini, kami akan berkongsi cara menggunakan PHP dan MySQL untuk menanyakan data dalam julat tarikh.

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
  • jumlah: 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 data ujian menggunakan 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 kami mempunyai jadual yang mengandungi data pesanan.

Langkah seterusnya ialah menulis kod PHP untuk menanyakan data dalam julat tarikh. Kami akan mencipta fail yang dipanggil "search.php" dan 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['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 <= &#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 fail "search.php":

<!DOCTYPE html>
<html>
<head>
    <title>Search Orders By Date Range</title>
</head>
<body>
    <h1>Search Orders By Date Range</h1>
    <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 input pengguna tarikh Mula dan tamat. Borang akan dihantar ke halaman yang sama menggunakan kaedah POST, diikuti dengan 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.

Ini ialah cara menggunakan PHP dan MySQL untuk menanyakan data dalam julat tarikh. Pendekatan ini boleh digunakan untuk sebarang tugas pembangunan web yang memerlukan data carian dalam julat masa.

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:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn