我有一個非常基本的問題,但不知道如何去做。 如果mysql表中的行數增加,我想刷新頁面。 我已經嘗試了一些不同的東西,如在表中添加一個單獨的列,其值爲(id + 1),如果行數和此值相等則執行刷新。這工作,但隨後開始刷新每5秒鐘,因爲該聲明保持評估爲真。我真正想要的是一個簡單的php mysqli num rows
if($num_rows changes){
// do this
}
任何和所有幫助將是巨大的感謝
我有一個非常基本的問題,但不知道如何去做。 如果mysql表中的行數增加,我想刷新頁面。 我已經嘗試了一些不同的東西,如在表中添加一個單獨的列,其值爲(id + 1),如果行數和此值相等則執行刷新。這工作,但隨後開始刷新每5秒鐘,因爲該聲明保持評估爲真。我真正想要的是一個簡單的php mysqli num rows
if($num_rows changes){
// do this
}
任何和所有幫助將是巨大的感謝
要檢查INSERT的受影響的行數,DELETE,UPDATE或更換服務查詢,你可以使用
$db->affected_rows();
如果您希望將行數與過去的行數進行比較,您必須保存以前的行數(可能在一個會話中)。這完全取決於誰執行查詢。
要獲取表中的行的總數:
SELECT COUNT(*) AS `numrows` FROM `table`;
這將工作: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}
?>
是你試圖在服務器端表更改時刷新客戶端頁面? – Jimbo
是的。我應該考慮以不同的方式去做嗎? – Ricky
不,只是想確保我理解正確:)這是這種情況Havemonstret已經回答了問題 – Jimbo