Javascript 仅当数据库有新记录时才重新加载div

Javascript 仅当数据库有新记录时才重新加载div,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有下面的代码,它是重新加载新记录,如果插入。 在页面加载时,它可以正常工作,但在获取新数据时重新加载div之后,它会不断地重新加载,并且不包括包含在order\u new\u orders.php中的文件 我只希望在插入新记录时重新加载div,然后保持关闭 order\u new\u orders.php **EXAMPLE:** $sqla = "select order_id from orders where status = 0 and store_id = '&quo

我有下面的代码,它是重新加载新记录,如果插入。 在页面加载时,它可以正常工作,但在获取新数据时重新加载div之后,它会不断地重新加载,并且不包括包含在order\u new\u orders.php中的文件

我只希望在插入新记录时重新加载div,然后保持关闭

order\u new\u orders.php

**EXAMPLE:**

$sqla   = "select order_id from orders where status = 0
and store_id = '".$_SESSION['ses_user_idx']."'";
$sqlb   = $dba2->query($sqla);
while ($sqlc    = $sqlb->fetch_assoc()){

include ('inc/afile.php');

echo $sqlc['name'];

}
代码:

var currentNewOrders = "";
function auto_loadNewOrders(){
  $.ajax({
    type: 'POST',
    url: 'order_new_orders.php',
    success: function(data){
       if(currentNewOrders !== data) {
           $("#newOrderRefresh").html(data);
           currentNewOrders = data;
       }
    }
  });
}
auto_loadNewOrders();
setInterval(auto_loadNewOrders,1000);
PHP

order\u new\u orders.php

<?php

//Dummy Data
$datas = array(
    array('id' => 1, 'name' => 'Dummy Name1', 'age' => 25),
    array('id' => 2, 'name' => 'Dummy Name2', 'age' => 28),
    array('id' => 3, 'name' => 'Dummy Name2', 'age' => 28),
);

if (isset($_GET['checkNew']) && isset($_GET['lastDataID'])) {
    if (count($datas) > $_GET['lastDataID']) {
        echo 1;
    } else {
        echo 'No new Data';
    }
    exit;
}

//Data Output structure 
$htm = "<table border='1'>
        <tr>
            <th>Name</th>
            <th>Age</th>
        </tr>
        ";

foreach ($datas as $row) {
    $htm.="<tr class='data-row' data-row-id='$row[id]'>
            <td>$row[name]</td>
            <td>$row[age]</td>
          </tr>";
}
$htm.="</table>";
echo $htm;
exit;

我试过了,但不是每秒钟都能刷新一次。请编写任何查询,而不是伪查询data@usman610如果您想要查询,请给我您的
数据库表
结构。您可以进行任何查询,因此我将根据需要调整查询。您只需注意此代码
。每一行数据都必须包含该行的IDim,并添加此
$sqlx4=“从状态为0的订单中选择i,存储id=”。“$”会话['ses_user_idx']。”$sqlx5=$dba2->query($sqlx4);虽然($sql6=$sqlx5->fetch_array()){$datas[]=$sql6;}
它正在显示记录,但没有更新。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="newOrderRefresh"></div>
<script>
    $(document).ready(function() {
        auto_loadNewOrders();
        setInterval(checkForNew, 1000);
    });

    function auto_loadNewOrders() {
        $.ajax({
            type: 'POST',
            url: 'order_new_orders.php',
            success: function(data) {
                $("#newOrderRefresh").html(data);
            }
        });

    }

    function checkForNew() {
        var lastData = $('.data-row').last().attr('data-row-id');
        $.ajax({
            type: 'POST',
            url: 'order_new_orders.php?checkNew&lastDataID=' + lastData,
            success: function(data) {
                if (data == 1) {
                    auto_loadNewOrders();
                }
            }
        });
    }
</script>