如何正确地从数据库中重新加载新数据

时间:2017-02-15 00:31:57

标签: javascript php ajax

我的网站上有一张表,一旦我的数据库中有新条目,就应该添加一个新行。 因此,我通过ajax调用PHP文件来检查数据库中的最后一个条目 - 我每隔3秒执行一次。

它工作得很好但是现在我意识到我的网站永远不会完成加载,它继续重新加载functions.php,其中我存储了整个过程。

这不可能是它应该完成的方式,有人可以启发我吗? :)

以下是我的一些代码:

的functions.php

function getBets(){

    require_once("mysql_con.php");

    $mysql_query = "SELECT id, time FROM access_log ORDER BY id DESC;";
    $result = $mysqli->query($mysql_query);
    $row = $result->fetch_array();
    $liveData = [$row["id"],$row["time"]];

    echo json_encode($liveData);
}

events.js

jQuery(document).ready(function($){

    /**
     *  Live-Reload Live-Bets
     */

    refreshTable();
});

functions.js

function refreshTable(){
    $.ajax({
        type: 'post',
        url: "../php/functions.php",
        dataType:"json",
        data: {execute: "getBets"},
        success:function(data) {

            if(document.getElementById('table-bet-id').innerHTML != data[0]){
                $('#betFeed')[0].innerHTML = "<tr><td id = 'table-bet-id'>"+ data[0] +"</td><td>"+ data[1] +"</td><td>"+ data[2] +"</td><td>"+ data[3] +"</td></tr>" + $('#betFeed')[0].innerHTML;
            }
        }
    });
    setTimeout(refreshTable, 3000);
}

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您的问题是您不喜欢脚本加载所有&#34; functions.php&#34;文件,为什么不直接存储你的&#34; getBets&#34;功能在另一个文件? 因为,你不能只调用php文件的一部分(例如,不像Xml)