Heim >Backend-Entwicklung >PHP-Problem >So fragen Sie Daten innerhalb eines Datums mit PHP+MySQL ab
PHP und MySQL sind eine der am häufigsten verwendeten Technologien für die Webentwicklung. In der Entwicklung ist es häufig erforderlich, Daten innerhalb eines bestimmten Zeitbereichs abzufragen. In diesem Artikel erfahren Sie, wie Sie mit PHP und MySQL Daten innerhalb eines Datumsbereichs abfragen.
Der erste Schritt besteht darin, eine Datenbanktabelle zu erstellen und einige Daten einzufügen. Erstellen wir eine Tabelle mit dem Namen „Bestellungen“, die die folgenden Felder enthält:
Verwenden Sie die folgende SQL-Anweisung, um die Tabelle zu erstellen:
CREATE TABLE orders ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, date DATE, amount DECIMAL(10,2) );
Als nächstes können wir einige Testdaten einfügen, indem wir die folgende SQL-Anweisung verwenden:
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);
Jetzt haben wir eine Tabelle mit den Bestelldaten.
Der nächste Schritt besteht darin, PHP-Code zu schreiben, um die Daten innerhalb des Datumsbereichs abzufragen. Wir erstellen eine Datei namens „search.php“ und verwenden den folgenden Code:
<?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 <= '$to_date'"; $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(); ?>
Dieser Code stellt eine Verbindung zur Datenbank her und überprüft dann den vom Benutzer eingegebenen Suchzeitraum. Wenn ein Datumsbereich eingegeben wird, formatiert das Skript das eingegebene Datum in das MySQL-Datumsformat, fragt dann die Bestelldaten ab und gibt die Ergebnisse in einer Tabelle aus. Liegen keine Ergebnisse vor, wird „0 Ergebnisse“ ausgegeben.
Jetzt müssen wir das HTML-Formular erstellen, das Benutzereingaben akzeptiert. Hier ist der vollständige Code der Datei „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 'search.php' ?> </body> </html>
Diese HTML-Datei erstellt ein Formular, das dem Benutzer die Eingabe eines Start- und Enddatums ermöglicht . Das Formular wird mit der POST-Methode an dieselbe Seite gesendet, gefolgt von dem PHP-Code, den wir gerade oben erstellt haben.
Jetzt können wir diese Datei in einem Browser öffnen und über das Formular einen Datumsbereich eingeben, um nach Bestelldaten zu suchen. Die Ergebnisse werden in einer Tabelle angezeigt.
So verwenden Sie PHP und MySQL, um Daten innerhalb eines Datumsbereichs abzufragen. Dieser Ansatz kann auf jede Webentwicklungsaufgabe angewendet werden, die die Suche nach Daten innerhalb eines bestimmten Zeitraums erfordert.
Das obige ist der detaillierte Inhalt vonSo fragen Sie Daten innerhalb eines Datums mit PHP+MySQL ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!