Javascript - 自动从数据库加载php数据

时间:2016-03-15 19:42:23

标签: javascript php jquery mysql

我需要从mysql数据库中获取数据并在php文件中显示它。然后在主页上我需要自动加载它而不重新加载页面。我已经实现了结果,但只有在刷新php文件时数据才会自动加载。

index.php - >自动显示来自load.php的数据,但现在仅在我刷新load.php

时显示

load.php - >从数据库中获取数据

的index.php:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {

    function load() {
        $.ajax({ //create an ajax request to load_page.php
            type: "GET",
            url: "views/index/info.php",
            dataType: "html", //expect html to be returned                
            success: function (response) {
                $("#responsecontainer").html(response);
                setTimeout(load, 1000)
            }
        });
    }

    load(); //if you don't want the click
    $("#display").click(load); //if you want to start the display on click
});
</script>
<div id="responsecontainer"></div>

load.php

            <?php 


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM users WHERE type_account='1'";

$result = $conn->query($sql);



    while($row = $result->fetch_assoc()) {
       $username =  $row["name"];
$userid = $row["id"];     
}


$sql2 = "SELECT * FROM posts WHERE user='$userid' AND status='1'";

$result2 = $conn->query($sql2);



    while($row2 = $result2->fetch_assoc()) {
 $postdetails = $row2["post_details"];

?>
Popular Microblogs:<br>
<br>
<span style="color:#fff;">
<?php
echo $username; 
echo "<br>";
echo $postdetails;
echo "<br>";
}


echo "<br>";  



$conn->close();

echo "</span>";


?> 

1 个答案:

答案 0 :(得分:3)

你可以这样做: -

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
    ajax_call = function() {
        $.ajax({ //create an ajax request to load_page.php
            type: "GET",
            url: "views/index/info.php",
            dataType: "html", //expect html to be returned                
            success: function (response) {
                $("#responsecontainer").html(response);
            }
        });
    };
    var interval = 5000;
    setInterval(ajax_call, interval);
});
</script>
<div id="responsecontainer"></div>

注意: - ajax将在5秒后自动运行,无需刷新页面。