ホームページ >バックエンド開発 >PHPチュートリアル >PHP でスケジュールされたクエリ データ更新を実行する方法について話しましょう

PHP でスケジュールされたクエリ データ更新を実行する方法について話しましょう

PHPz
PHPzオリジナル
2023-04-11 10:31:551432ブラウズ

Web アプリケーションを開発する場合、データベース内のデータを定期的にクエリして、ページ上の表示ステータスを更新する必要がある場合があります。 PHP は人気のあるバックエンド言語として、この機能を実現するためのメソッドをいくつか提供しています。この記事では、PHP を使用してスケジュールされたクエリ データを更新する方法を紹介します。

1. PHP を使用してタイマーを実装する

PHP には、タイマー関数を実装するための 2 つの関数、sleep() と usleep() が用意されています。これら 2 つの関数により、後続のコードを実行する前にスクリプトが一定期間ハングする可能性があります。 sleep() と usleep() の違いは、sleep() の単位が秒であるのに対し、usleep() の単位はマイクロ秒であることです。

たとえば、次のコードは、データベース内のデータを 10 秒ごとにクエリします。

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

上記のコードは、while ループを使用してクエリおよび更新操作を実行し、次に sleep( ) 機能 10 秒間ハングします。 Ctrl C またはその他の手段を使用して、ループを強制的に停止できます。

2. PHP を使用してデータベースを定期的にクエリする

ページ上のデータをリアルタイムで更新するには、データベース内のデータを定期的にクエリする必要があります。 PHP を使用してこの機能を実装する鍵は、タイマーを使用し、指定された時間間隔内でクエリ操作を実行することです。

以下は、PHP を使用してデータを定期的にクエリするサンプル コードです:

<?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);
}
?>

上記のサンプル コードでは、while ループが使用され、最後に usleep() 関数が呼び出されます。各ループを 2 秒間吊るします。ループ内で、getData() 関数を呼び出してデータベース内のデータをクエリし、次に、refreshPage() 関数を使用してページ上の表示ステータスを更新します。

概要

PHP を使用してスケジュールされたクエリ データ更新を行うと、Web アプリケーションがユーザー データの変更にリアルタイムで応答できるようになります。 PHP には、タイマー関数の実装に役立つ sleep() 関数と usleep() 関数が用意されています。ページのデータをリアルタイムに更新するには、指定された時間間隔内でデータをクエリし、ページの表示ステータスを更新する必要があります。

以上がPHP でスケジュールされたクエリ データ更新を実行する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。