仅在插入或更新新数据时自动刷新/加载数据

时间:2014-10-07 06:32:54

标签: javascript php jquery html ajax

就我而言,我在X秒后自动刷新。但我希望只在插入或更新新数据时才刷新它。

这是我的剧本。

refresh.php

<script src="jquery-1.4.js"></script>
<script>
$(document).ready(function() {
$("#responsecontainer").load("refreshnow.php");
var refreshId = setInterval(function() {
$("#responsecontainer").load('refreshnow.php?randval='+ Math.random());
}, 1000);
});
</script>

<div id="responsecontainer"></div>

refreshnow.php

<?php
$query = mysqli_query($connection,"select * from `table`");
$rows = mysqli_num_rows($query);
?>
<table style="background:#F0F0F0;" border=1 style="border-collapse:collapse">
 <tr>
    <th>Name</th>
    <th>Job</th>
 </tr>
<tbody>
<?php
while($result = mysqli_fetch_array($query)){
    echo "<tr>";
    echo "<td>".$result["name"]."</td>";
    echo "<td>".$result["job"]."</td>";
    echo "</tr>";
}
?>
</tbody>

那么,在新的数据插入或更新后,是否可以自动加载新数据而不会在x秒后刷新?

1 个答案:

答案 0 :(得分:0)

如果你想使用你现有的代码,只需在mysql表中添加另一列(如果你有一个配置或设置表,这将是更简单的,如果不是你插入的每个记录的广告时间戳)和值时间(),每次插入/修改行时,它都会更新数据库中的时间戳。 然后只需执行以下查询:

"select timestamp_column from `settings_table` order by timestamp_column limimt 1"

If ($result["timestamp_column"]+1000>=time()){
       //do the refreshnow.php code here
}

希望它有所帮助, 干杯