Maison > Article > développement back-end > php interroge les données du jour
Avec le développement d'Internet et de la numérisation, les opérations quotidiennes sur les bases de données sont devenues une compétence routinière. Par exemple, dans le développement Web, de nombreux processus métier nécessitent un stockage de données, des requêtes et des statistiques. Dans ces processus, l'interrogation des données du jour en cours est une opération basique mais critique.
Le langage PHP est un langage de programmation back-end courant dans le développement Web. Parmi ses nombreuses fonctions, le fonctionnement de la base de données est l'un des aspects les plus importants. En PHP, interroger les données du jour en cours est également une fonction courante et nécessaire. Voyons comment interroger les données de la journée en cours avec PHP.
Tout d'abord, nous devons clarifier quelles sont les données du jour. Bien entendu, la réponse à cette question variera en fonction du scénario. Habituellement, les données du jour font référence aux données du début à la fin de la journée, c'est-à-dire qu'elles incluent les données du jour. La condition de requête est que le champ de date dans la table de données soit égal à la date de requête. . Dans les applications réelles, la date de requête peut être sélectionnée par l'utilisateur via le sélecteur de date, ou il peut s'agir de la date actuelle obtenue automatiquement par le système.
Ensuite, nous devons nous connecter à la base de données. Le processus de connexion à la base de données utilisera des outils d'extension tels que mysqli ou PDO en PHP pour se connecter. Le format de base de la connexion est le suivant :
//连接到 MySQL 数据库的样例代码 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; //创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); //检查连接是否正常 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
Dans l'extrait de code ci-dessus, $servername
stocke le nom d'hôte MySQL, $username
est le nom d'utilisateur MySQL et $password
est le mot de passe MySQL, $dbname
est le nom de la base de données qui doit être connectée. Une fois la connexion établie, vous pouvez utiliser d'autres opérations SQL pour interroger les données. $servername
存放的是 MySQL 的主机名,$username
是 MySQL 用户名,$password
是 MySQL 密码,$dbname
是需要连接的数据库名称。在连接成功之后,可以使用其他 SQL 操作进行数据的查询。
下面,我们需要明确怎么查询当天的数据。如果我们的数据表是这个样子的:
id | name | created_at |
---|---|---|
1 | A | 2022-10-20 10:00:00 |
2 | B | 2022-10-21 13:00:00 |
3 | C | 2022-10-22 14:00:00 |
那么,查询当天的数据的代码可以这样写:
//从 MYSQL 数据库中查询当天的数据的样例代码 $date = date('Y-m-d'); //获取当前日期 $sql = "SELECT * FROM my_table WHERE DATE(created_at) = '$date'"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { //处理数据 } else { echo "0 个结果"; } //释放结果集 mysqli_free_result($result); //关闭连接 mysqli_close($conn);
上述代码片段中,我们首先用 date()
函数获取当前日期并赋值给 $date
变量。然后,我们使用 SELECT
语句,从数据表 my_table
中查询 created_at
日期字段等于 $date
的所有记录,得到的结果存储在 $result
变量中。如果结果集中有数据,则可以进行数据的处理;如果没有结果,则会输出“0 个结果”。
需要注意的是,如果 created_at
字段是 timestamp
类型,则查询语句应该是这样的:WHERE UNIX_TIMESTAMP(created_at) BETWEEN UNIX_TIMESTAMP('$date 00:00:00') AND UNIX_TIMESTAMP('$date 23:59:59')
。
除此之外,我们还可以使用 PDO 扩展进行查询。这样的代码如下:
//使用 PDO 扩展从 MySQL 数据库中查询当天的数据的样例代码 $date = date('Y-m-d'); //获取当前日期 $dbh = new PDO('mysql:host=localhost;dbname=myDB', $username, $password); $stmt = $dbh->prepare("SELECT * FROM my_table WHERE DATE(created_at) = ?"); $stmt->execute([$date]); $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); //处理数据 foreach ($stmt->fetchAll() as $row) { //处理数据 } //关闭连接 $dbh = null;
上述代码片段中,我们首先使用 new PDO()
函数连接至数据库,并使用 prepare()
方法准备 SQL 语句,其中 ?
是 SQL 语句中的占位符。然后,在 execute()
方法中,我们将查询日期传递进去,执行查询,结果存储在 $stmt
变量中。在获取到结果集之后,我们可以通过 setFetchMode()
方法设置获取数据的方式,例如将数据以关联数组 FETCH_ASSOC
的形式返回。最后,我们可以通过 fetchAll()
id | name | created_at |
---|---|---|
1 | A | 2022-10-20 10:00:00 |
2 | B | 2022-10-21 13:00:00 |
3 | C td> | 2022-10-22 14:00:00 |
rrreeeCi-dessus Dans l'extrait de code, nous utilisons d'abord la fonction date()
pour obtenir la date actuelle et l'attribuons à la variable $date
. Ensuite, nous utilisons l'instruction SELECT
pour interroger tous les enregistrements de la table de données my_table
pour laquelle le champ de date created_at
est égal à $. date
, le résultat est stocké dans la variable $result
. S'il y a des données dans l'ensemble de résultats, les données peuvent être traitées ; s'il n'y a aucun résultat, "0 résultats" sera affiché.
created_at
est de type timestamp
, l'instruction de requête doit ressembler à ceci : WHERE UNIX_TIMESTAMP(created_at) BETWEEN UNIX_TIMESTAMP(' $date 00:00:00') ET UNIX_TIMESTAMP('$date 23:59:59')
. 🎜🎜De plus, nous pouvons également utiliser l'extension PDO pour les requêtes. Ce code est le suivant : 🎜rrreee🎜Dans l'extrait de code ci-dessus, nous utilisons d'abord la fonction new PDO()
pour nous connecter à la base de données, puis utilisons la fonction prepare()
. méthode pour préparer l’instruction SQL, où ?
est un espace réservé dans l’instruction SQL. Ensuite, dans la méthode execute()
, nous transmettons la date de la requête, exécutons la requête et stockons les résultats dans la variable $stmt
. Après avoir obtenu l'ensemble de résultats, nous pouvons définir la méthode d'obtention des données via la méthode setFetchMode()
, par exemple, en renvoyant les données sous la forme d'un tableau associatif FETCH_ASSOC
. Enfin, nous pouvons récupérer toutes les données via la méthode fetchAll()
et les traiter. 🎜🎜Résumé : L'interrogation des données de la journée en cours est l'une des opérations courantes en PHP, qui peut être réalisée à l'aide de mysqli ou de l'extension PDO. La clé est d’interroger clairement la date, puis d’interroger, traiter et publier les données via une syntaxe de base ou des méthodes d’extension dans différentes langues. 🎜🎜🎜Pièce jointe : Cet article est uniquement destiné à une référence d'apprentissage et ne doit pas être utilisé à des fins commerciales. Nous nous excusons pour toute violation des droits d'auteur. 🎜🎜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!