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

PHPz
Libérer: 2023-04-11 16:46:01
original
1347 Les gens l'ont consulté

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);
}
Copier après la connexion

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);
}
?>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!