php mysqli num_rows

时间:2013-06-19 19:37:38

标签: php mysql if-statement mysqli

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

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

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

2 个答案:

答案 0 :(得分:5)

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

$db->affected_rows();

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

获取表格中的总行数:

SELECT COUNT(*) AS `numrows` FROM `table`;

答案 1 :(得分: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}

?>