我需要从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>";
?>
答案 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秒后自动运行,无需刷新页面。