javascript - 每次在mysql数据库中插入新记录时刷新div

标签 javascript php html mysql ajax

我在我的网页上使用 SCADA 系统,并且想仅在 mysql 数据库中的 2 个表中的任何一个更改时用 gif 刷新某些 div。

而且我也想在每次发生变化时都这样做(表中的新记录)。 当这 2 个表保持不变时,不应进行任何操作(没有新记录)。

整个网页都是 php/html,这是我使用 javascript/ajax 的第一种方法。 我试过使用:

  setInterval($('. examplediv).load(location.href + ' .examplediv), 1000);

但它不适合我的需要。它使我的图形在每次刷新时闪烁,而它们应该是静态的。 为简化起见:我只想在表中的状态从 a->b 发生变化时重新加载它们,因此我将 a.gif 与 b.gif 交换。

我可以通过以下方式检测 mysql 表中的更改:记录 ID、时间戳或表校验和,但很难使用 javascript。

<div class="refresh"> // div i want to refresh
  <h3>PIR</h3>        // sensor name
  <p>Online: <?echo $aonline;?></p>  // echoing result of query if  sensor is online
  <p>State: <?echo $pirstan;?></p>      // echoing current state of  sensor
  <p>Last changed: <?echo $rowpir['Czas'];?></p>  //echoing timestamp of previous state of sensor
   <img class="center" src="pir.gif" alt="Kontrakton"> // showing image related to current sensor state (for example walking person to PIR sensor)
  </div>

如果您对上述问题有任何帮助,我们将不胜感激。 特别是带有注释的示例代码,所以我理解了这件事。 也欢迎使用其他解决问题的方法,也许我目光短浅。

最佳答案

对于那些对 future 感兴趣的人,最终代码感谢:Fiido93

<script type="text/javascript">
var old_count = 0;
setInterval(function(){    
    $.ajax({
        type : "POST",
        url : "test.php",
        success : function(data){
            if (data > old_count) {
                   $('.divname' ).load(window.location.href + ' .divname');
               old_count = data;
           }
        }
    });
},1000);

和test.php

$result = mysqli_query($conn,"mysqlquery");
while($row = mysqli_fetch_array($result))
{
    $printme= $row[0];   // i only echo row 0 here !!
} 
echo "$printme";

关于javascript - 每次在mysql数据库中插入新记录时刷新div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54301453/

相关文章:

javascript - iOS 是否有相当于 navigator.share 的工具来触发 native 分享功能?

javascript - jquery javascript 显示/隐藏切换删除内容

javascript - 表格列宽度匹配

php - OpenCart 在 Controller 外加载模型

php - Laravel - [PDOException] : Could not Find Driver in PostgreSQL - MAC OS

php - CakePHP 3 - 使用 LocalStringFormat 解析日期以更正 SQL 格式和更正验证

android - Android Chrome 上的 URL 栏会隐藏全高度内容,除非用户使用 100VH 滚动

javascript - 带有 Spritely 的 jQuery Sprite

javascript - 在页面加载时打开一个弹出窗口并在其他任何地方单击时隐藏 + 在调整窗口大小时动态跟随其父级

php - if 语句计算不正确