【发布时间】:2016-03-15 19:42:22
【问题描述】:
我需要从 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>
加载.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>";
?>
【问题讨论】:
-
所以点击
#display时不起作用? -
我已经改成 $("#display").load;并删除了 $(document).ready(function(){ 仍然数据不会自动加载
-
试试 '$('#handle').on('click', function(){ load() })'
-
看不出您的代码为什么不能工作。但是一些提示:如果有人按下显示按钮,如果他再按下 1 次 3 次,您的代码将每秒加载 2 次......您正在选择所有用户,但只使用最后的帖子。
-
一定有你没有告诉我们的信息,因为你有
url: "views/index/info.php",,但你的文件是load.php。上次我检查了info!=load。
标签: javascript php jquery mysql