我有一个非常基本的问题,但不知道该怎么做。 如果mysql表中的行数增加,我想刷新页面。 我尝试了一些不同的事情,比如在表中添加一个单独的列,如果行数和这个值相等则值为(id + 1),然后进行刷新。这有效,但随后它开始每5秒刷新一次,因为该语句保持评估为真。我真正想要的只是一个简单的
if($num_rows changes){
// do this
}
任何和所有帮助都会非常感谢
答案 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}
?>