来自数据库 AJAX 的后台刷新信息



我创建了一个网站,用于检索已上传到我的数据库的文本。 这样做的问题是我想每秒刷新该数据库中的内容。 但我在任何地方都找不到如何做到这一点。 我希望在后台完成此操作。 如果可能的话,一种方法来制作我稍后将放入的教科书,以便将数据输入服务器, 也不执行完全刷新,而是在后台发送内容。谢谢,每个答案都很重要。

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
} 
$sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY id ASC LIMIT 10";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
   
     while($row = $result->fetch_assoc()) {
         echo "<div id='message'> <br> ". $row["firstname"]. " " . $row["lastname"] . "<br> </div>";
     }
} else {
     echo "0 results";
}
$conn->close();
?>

在文件中,只需回显结果即可。然后在另一个文件中,将回显的结果加载到div 中,如下所示:

db_results.php将回显结果的文件:

<?php
    $servername = "localhost";
    $username = "root";
    $password = "root";
    $dbname = "myDB";

    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
         die("Connection failed: " . $conn->connect_error);
    } 
    $sql = "SELECT id, firstname, lastname FROM MyGuests ORDER BY id ASC LIMIT 10";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
         while($row = $result->fetch_assoc()) {
             echo "<p>". $row["firstname"]. " " . $row["lastname"] . "</p>";
         }
    } else {
         echo "0 results";
    }
    $conn->close();
?>

display.php将在div 中刷新结果的文件:

<!DOCTYPE html>
<html>
    <head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        $(document).ready(function(){
            setInterval(function() {
                $("#load_results").load("db_results.php");
            }, 1000);
        });
    </script>
    </head>
    <body>
        <div id = "load_results"></div>
    </body>
</html>

db_results.php文件将查询数据库,获取结果并回显它们。第二个文件 ( display.php ) 在div 中加载第一个文件并每秒刷新一次div,因此更新的结果将加载到相关的div 中。

PS:将两个文件保留在同一目录中或相应地调整路径。

最新更新