更新数据库中的数据时刷新PHP页面

时间:2017-09-07 08:50:02

标签: javascript php mysql

我希望我的客户端网站在我的数据库中的数据更新时自动刷新,当添加或删除数据时我已经成功,但是当数据发生变化时,它仍然会失败。

这是我检查数据库中数据的代码:

<script> 
var row1 = "<?php echo $variable; ?>";

var processUpdate = function( response ) {
    var x = response;
    //console.log(x);
    if (row1 != x) {
        window.location.reload();
    }
}

var checkUpdates = function() {
    serverPoll = setInterval(function() {
        $.get('check.php', { lastupdate: 1 }, processUpdate, 'html');
    }, 1000)
};

$(document).ready(checkUpdates);

</script>

check.php

$query = mysqli_query($koneksi, "SELECT * FROM table");
$number = mysqli_num_rows($query);
echo $number;

如果表中的每个数据都被更改,我应该更改哪些内容会自动刷新?

1 个答案:

答案 0 :(得分:1)

您可以使用触发器在另一个表中插入有关每个表更新的一些信息,然后只查询“更改”中的num行。以类似的方式在这里检查新表:

DELIMITER //
CREATE TRIGGER table_update_trigger AFTER UPDATE ON table
  FOR EACH ROW BEGIN
    INSERT INTO table_history
    (
      change
    )

    (
      NEW.some_value,

    );
  END
//

此解决方案的优点是您不需要引入/依赖/维护任何其他数据库系统(如Redis),并且检查代码不负责保留和更新任何计数器和查询以进行更新,插入和删除以类似的方式。此外,您可以扩展table_history表以记录您感兴趣的所有字段,以跟踪更改并最终为应用程序提供有用的更改日志。