0

我有一个非常基本的问题,但不知道该怎么做。如果 mysql 表中的行数增加,我想刷新页面。我尝试了一些不同的方法,例如在表中添加一个单独的列,如果行数和该值相等,则值为 (id + 1) 进行刷新。这有效,但随后它开始每 5 秒刷新一次,因为该语句一直评估为真。我真正想要的只是一个简单的

      if($num_rows changes){
 // do this
}

任何和所有的帮助都会非常感谢

4

2 回答 2

5

要检查 INSERT、DELETE、UPDATE 或 REPLACE 查询的受影响行数,您可以使用

$db->affected_rows();

如果您希望将行数与过去的行数进行比较,则必须保存以前的行数,可能在会话中。这完全取决于谁执行查询。

要获取表中的总行数:

SELECT COUNT(*) AS `numrows` FROM `table`;
于 2013-06-19T19:40:17.210 回答
1

这将起作用:AJAX->PHP->MySQL

    $(document).ready(function() {
    setInterval("ajaxd()",10000);
});

function ajaxd() { 
  $.ajax({
   type: "GET",
   url: "new_rows.php",
   success: function(msg){
     if (msg.HasNewRows) {
       //new rows -> refresh
       document.location.reload(true);
     }
   }
 });
}

new_rows.php

<?php
session_start();
//perform query & num_rows() => $new

if ($new > $_SESSION['current']) {
 $_SESSION['current'] = $new;
 return json_encode(array("HasNewRows"=>true));
}else{#same with false}

?>
于 2013-06-19T19:50:34.167 回答