Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mari kita bincangkan tentang cara PHP melaksanakan penyegaran semula data pertanyaan berjadual

Mari kita bincangkan tentang cara PHP melaksanakan penyegaran semula data pertanyaan berjadual

PHPz
PHPzasal
2023-04-11 10:31:551396semak imbas

Apabila membangunkan aplikasi web, kadangkala anda perlu menanyakan data dalam pangkalan data secara berkala dan mengemas kini status paparannya pada halaman. PHP, sebagai bahasa back-end yang popular, menyediakan beberapa kaedah untuk mencapai fungsi ini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memuat semula data pertanyaan berjadual.

1. Gunakan PHP untuk melaksanakan pemasa

PHP menyediakan dua fungsi untuk melaksanakan fungsi pemasa: sleep() dan usleep(). Kedua-dua fungsi ini boleh membuat skrip hang untuk tempoh masa sebelum melaksanakan kod berikutnya. Perbezaan antara sleep() dan usleep() ialah unit sleep() ialah saat dan unit usleep() ialah mikrosaat.

Sebagai contoh, kod berikut akan menanyakan data dalam pangkalan data setiap 10 saat:

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

Kod di atas menggunakan gelung sementara untuk melaksanakan pertanyaan dan operasi kemas kini, dan kemudian memanggil tidur ( ) fungsi hang selama 10 saat. Anda boleh memaksa menghentikan gelung menggunakan Ctrl+C atau cara lain.

2. Gunakan PHP untuk menanyakan pangkalan data dengan kerap

Untuk mencapai penyegaran semula masa nyata pada halaman, anda perlu menanyakan data dalam pangkalan data dengan kerap. Kunci untuk melaksanakan fungsi ini menggunakan PHP ialah menggunakan pemasa dan melaksanakan operasi pertanyaan dalam selang masa yang ditentukan.

Berikut ialah contoh kod yang menggunakan PHP untuk menanyakan data secara kerap:

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

Dalam kod sampel di atas, gelung sementara digunakan dan fungsi usleep() dipanggil di hujung setiap gelung untuk menggantung 2 saat. Dalam gelung, panggil fungsi getData() untuk menanyakan data dalam pangkalan data, dan kemudian gunakan fungsi refreshPage() untuk mengemas kini status paparan pada halaman.

Ringkasan

Menggunakan PHP untuk muat semula data pertanyaan berjadual membolehkan aplikasi web bertindak balas kepada perubahan data pengguna dalam masa nyata. PHP menyediakan fungsi sleep() dan usleep() untuk membantu kami melaksanakan fungsi pemasa. Untuk mengemas kini data halaman dalam masa nyata, adalah perlu untuk menanyakan data dan mengemas kini status paparan halaman dalam selang masa yang ditentukan.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara PHP melaksanakan penyegaran semula data pertanyaan berjadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn