使用 Ajax 或 Jquery 每 5 秒更新 PHP 内容

Update PHP content every 5s using Ajax or Jquery

我正在尝试每 5 秒更新我的 php 页面,以便新数据可以进入 .json 文件,所以基本上它所做的就是获取数据从数据库中,并用这些数据创建一个 .json 文件,我需要这个 php 文件每 5 秒更新一次,所以 .json 文件也在更新。
代码(JsonfileAPI.php):

<!DOCTYPE html>
<html lang="pt-br">
<head>
</head>
<body>
<?php
    function get_data()
    {
        $servername = "nps";
        $dBUsername = "nps";
        $dBPassword = "nps";
        $dBname = "nps";

        $conn = mysqli_connect($servername, $dBUsername, $dBPassword, 
        $dBname);

        if ($conn->connect_error){
        die ("Connection failed". $conn->connect_error);
        }

        $sql = "SELECT * FROM dados;";
        $result = mysqli_query($conn, $sql);
        $json_array = array();
        while($row = mysqli_fetch_assoc($result))
        {
            $json_array[] = array(
                'AutoIncrement'         =>       $row["AutoIncrement"],
                'Aparelho'         =>       $row["aparelho"],
                'Status'         =>       $row["Status"],
            );
        }
        return json_encode($json_array);
    }
    $file_name = 'dadosjson' . '.json';

    if (file_put_contents($file_name, get_data()))
    {
        echo $file_name. ' file created';
    }
    else 
    {
        echo 'There is some error';
    }
?>
<script>
$(document).ready(function () {
setInterval(function(){
    $.ajax({
        url: "JsonfileAPI.php",
        type: 'post',
        dataType: 'json',
        success: function(response) {
            $('.time').html(response);
        }
    });
    }, 5000);
});
</script>

您可以在您的应用程序中使用此代码,我建议使用单独的文件,例如 index.php(用于您的 html 代码)和 action.php 用于 PHP 脚本。并且不需要 .json 文件。

试试这个,在 index.php html 部分和 javascript 部分像这样

 $(document).ready(function () {
     setInterval(function(){
            $.ajax({
                url: "action.php",
                type: 'post',
              //  dataType: 'json',
                success: function(response) {
                   console.log(response);
                  $('.time').html(response);
              }
            });
        }, 5000);
      });
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>

    <div class="time">
    </div>
    </body>
</html>

那么你的action.php文件应该是这样的,

  <?php
    $localhost = "nps";
    $username = "nps";
    $password = "nps";
    $dbname = "nps";

    // db connection
    $connect = new mysqli($localhost, $username, $password, $dbname);
    // check connection
    if ($connect->connect_error) {
      die("Connection Failed : " . $connect->connect_error);
    } else {
     //  echo "Successfully connected".$dbname;
    }

    $sql = "SELECT * FROM dados";
    $result = $connect->query($sql);

    $output = array('data' => array());

    if ($result->num_rows > 0) {
      while ($row = $result->fetch_array()) {
      $output['data'][] = array(
      $row[0],
      $row[1],
      $row[2]
     );
    }
   }
   $connect->close();

   echo json_encode($output);

我已经检查过了,它工作正常。觉得会有帮助。