Maison >base de données >tutoriel mysql >Comment interroger des données dans la date avec php+mysql
La première étape consiste à créer une table de base de données et à insérer des données. Créons une table nommée « commandes », comprenant les champs suivants :
id : ID d'auto-incrémentation
date : date de commande
montant : montant de la commande
Utilisez l'instruction SQL suivante pour créez la table :
CREATE TABLE orders ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, date DATE, amount DECIMAL(10,2) );
Ensuite, nous pouvons insérer des données de test en utilisant l'instruction SQL suivante :
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);
Nous avons maintenant une table contenant les données de la commande.
L'étape suivante consiste à écrire du code PHP pour interroger les données dans la plage de dates. Nous allons créer un nouveau fichier et le nommer « search.php », puis utiliser le code suivant :
<?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(); ?>
Ce code se connecte à la base de données puis vérifie la plage de dates de recherche saisie par l'utilisateur. Si une plage de dates est saisie, le script formatera la date saisie au format de date MySQL, puis interrogera les données de commande et affichera les résultats dans un tableau. S'il n'y a aucun résultat, « 0 résultat » sera affiché.
Maintenant, nous devons créer le formulaire HTML qui accepte les saisies de l'utilisateur, voici le code complet du fichier "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 'search.php' ?> </body> </html>
Ce fichier HTML crée un formulaire qui permet à l'utilisateur de saisir une date de début et de fin . Nous soumettrons le formulaire sur la même page en utilisant la méthode POST et inclurons le code PHP que nous venons de créer ci-dessus.
Nous pouvons maintenant ouvrir ce fichier dans un navigateur et utiliser le formulaire pour saisir une plage de dates afin de rechercher les données de commande. Les résultats seront affichés dans un tableau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!