Maison >développement back-end >tutoriel php >Parlons de la façon d'effectuer une actualisation planifiée des données de requête en PHP

Parlons de la façon d'effectuer une actualisation planifiée des données de requête en PHP

PHPz
PHPzoriginal
2023-04-11 10:31:551417parcourir

Lors du développement d'applications Web, il est parfois nécessaire d'interroger périodiquement les données de la base de données et de mettre à jour leur état d'affichage sur la page. PHP, en tant que langage back-end populaire, fournit quelques méthodes pour réaliser cette fonction. Cet article explique comment utiliser PHP pour actualiser les données des requêtes planifiées.

1. Utilisez PHP pour implémenter les minuteries

PHP fournit deux fonctions pour implémenter les fonctions de minuterie : sleep() et usleep(). Ces deux fonctions peuvent bloquer le script pendant un certain temps avant d'exécuter le code suivant. La différence entre sleep() et usleep() est que l’unité de sleep() est la seconde et l’unité de usleep() est la microseconde.

Par exemple, le code suivant interrogera les données de la base de données toutes les 10 secondes :

while (true) {
    // 查询数据库
    // 更新页面显示状态
    
    sleep(10);
}

Le code ci-dessus utilise une boucle while pour effectuer des opérations de requête et de mise à jour, puis appelle la fonction sleep() pour se bloquer pendant 10 secondes. Vous pouvez forcer l'arrêt de la boucle en utilisant Ctrl+C ou d'autres moyens.

2. Utilisez PHP pour interroger régulièrement la base de données

Afin d'obtenir une actualisation en temps réel des données sur la page, vous devez interroger régulièrement les données de la base de données. La clé pour implémenter cette fonctionnalité à l'aide de PHP est d'utiliser un minuteur et d'effectuer des opérations de requête dans un intervalle de temps spécifié.

Ce qui suit est un exemple de code qui utilise PHP pour interroger régulièrement des données :

<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);

// 查询数据
function getData() {
    global $conn;

    $sql = "SELECT * FROM myTable";
    $result = $conn->query($sql);

    $data = array();
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $data[] = $row;
        }
    }

    return $data;
}

// 更新页面显示状态
function refreshPage($data) {
    echo "<ul>";
    foreach ($data as $item) {
        echo "<li>" . $item["name"] . "</li>";
    }
    echo "</ul>";
}

// 定时查询数据并更新页面显示状态
while (true) {
    // 查询数据并更新页面
    $data = getData();
    refreshPage($data);

    // 挂起2秒钟
    usleep(2000000);
}
?>

Dans l'exemple de code ci-dessus, une boucle while est utilisée et la fonction usleep() est appelée à la fin de chaque boucle pour se bloquer pendant 2 secondes. . Dans la boucle, appelez la fonction getData() pour interroger les données de la base de données, puis utilisez la fonction rafraîchirPage() pour mettre à jour l'état d'affichage sur la page.

Résumé

L'utilisation de PHP pour l'actualisation planifiée des données de requête permet aux applications Web de répondre aux modifications des données utilisateur en temps réel. PHP fournit les fonctions sleep() et usleep() pour nous aider à implémenter la fonction timer. Afin de mettre à jour les données de la page en temps réel, il est nécessaire d'interroger les données et de mettre à jour l'état d'affichage de la page dans un intervalle de temps spécifié.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn