ホームページ >バックエンド開発 >PHPの問題 >php+mysqlで日付内のデータをクエリする方法

php+mysqlで日付内のデータをクエリする方法

PHPz
PHPzオリジナル
2023-03-23 16:53:181509ブラウズ

PHP と MySQL は、Web 開発で最も一般的に使用されるテクノロジの 1 つです。開発では、多くの場合、特定の時間範囲内のデータをクエリする必要があります。この記事では、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['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();
?>

このコードはデータベースに接続し、ユーザーが入力した検索日付範囲を確認します。日付範囲が入力された場合、スクリプトは入力された日付を MySQL 日付形式にフォーマットし、注文データをクエリして結果をテーブルに出力します。結果がない場合は「0件」が出力されます。

ここで、ユーザー入力を受け入れる HTML フォームを作成する必要があります。「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>

この HTML ファイルは、ユーザーは開始日と終了日を入力します。フォームは POST メソッドを使用して同じページに送信され、その後に上で作成した PHP コードが続きます。

これで、このファイルをブラウザで開き、フォームを使用して日付範囲を入力し、注文データを検索できます。結果は表に表示されます。

これは、PHP と MySQL を使用して日付範囲内のデータをクエリする方法です。このアプローチは、時間範囲内でデータを検索する必要があるあらゆる Web 開発タスクに適用できます。

以上がphp+mysqlで日付内のデータをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。