2014-12-13 38 views
0

有一個活的「論壇/博客」,我想檢查最後一個ID,並且如果更改激發jquery加載。我已經完成了。但想知道最好的方法,或者最快查看最新的ID。使用Ajax進行更新的最佳方法

我試過只是從數據庫中選擇最新的ID。

$sql = "SELECT max(id) AS max FROM replies WHERE id = $id"; 
$result = $db->query($sql); 
foreach($result as $last); 
echo $last[max]; 

或者提交答覆時的其他選項。我正在用最新的id創建一個txt文件(或更新文本文件)。然後,而不是使用MySQL我正在使用。

$file = file_get_contents("path/cache/$id.txt"); 
echo $file; 

我是一個新手。其中一種方法可能不是最好的。我想知道服務器負載,內存的最佳方法,以及一次處理100個用戶的最佳方法。我希望我解釋得很好。

請求的jQuery代碼。

<script> 

var saved = '<?=$last[id]?>'; 

setInterval(function() { 
    $.ajax(
    { 
     url: '/submit/check.php?tid=<?=$tid[1]?>', 
     success: function(data) 
     { 
      if (data != saved) 
      { 
       $("#responsecontainer").load("/forum-content.php?tid=<?=$tid[1]?>", "", function() { 
       jQuery(".timeago").timeago(); 
       }); 
       saved = data; 
      } 
     } 
    }); 
}, 7000); 

</script> 
+0

在jQuery方面,你可以分享你迄今爲止嘗試過的嗎? – 2014-12-13 17:19:22

+0

添加了jquery :)謝謝!就像我說的,我不是很有經驗。 – user2639176 2014-12-13 17:23:53

回答

0

數據未定義。我對你的JavaScript代碼的建議:

<script> 

var saved = '<?=$last[id]?>'; 
var data = ""; //define "data" 
setInterval(function() { 
    $.ajax(
    { 
     url: '/submit/check.php?tid=<?=$tid[1]?>', 
     success: function(data) 
     { 
      if (data != saved) 
      { 
       $("#responsecontainer").load("/forum-content.php?tid=<?=$tid[1]?>", "", function() { 
       jQuery(".timeago").timeago(); 
       }); 
       //saved = data; //replace with: 
       data = saved; 
      } 
     } 
    }); 
}, 7000); 

</script> 

你的PHP代碼也是錯誤的:

$file = file_get_contents("path/cache/".$id.".txt"); //changed line 
echo $file; 

希望這對你的作品!

+0

以及腳本的作品。當我打字時,我只是重寫了它。我只是想看看什麼是最好的方法是內存,流量等 – user2639176 2014-12-13 17:40:08

+0

@ user2639176我會選擇數據庫查詢解決方案...畢竟,100個併發用戶是不會負荷很大的體面的服務器...... – 2014-12-13 17:41:33

相關問題