【问题标题】:Javascript - load php data from database automaticallyJavascript - 自动从数据库加载 php 数据
【发布时间】: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


【解决方案1】:

你可以这样做:-

<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 秒后自动运行,无需刷新页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多