2014-02-22 70 views
0

我使用longpolling技術的通知系統..這裏longpolling通過檢查數據庫表的唯一ID工作..如果它大於最後更改的id那麼數據被提取..這就是工作好...Longpolling與php jquery ajax

我不知道如何實現longpolling技術來獲取最近更新和刪除的任何行的值......傳統的shortpolling最終會通過不時戳動數據庫來實現。但在longpolling請求保持open..Suppose我有 4行插入...

id name body 

1 A blah 
2 B blah 
3 C blah 
4 D blah 

如果現在有在最後插入的行的變化等...

4 D abcd 

的longpolling技術不會取得更新部分..

,或者如果ID爲2行是deleted..Then也是它將無法正常工作...

任何人都可以提出一種方法嗎?不使用shortpolling ..因爲我不想這樣...

回答

0

您應該添加一個名爲「revision」的新列。修訂是每個「行動」的自動增量,而不是每行。

它必須我一個正常的指數。

所以,你這樣開始:

Id Name Revision 
1 aaaa. 1 
2 bbbb. 2 
3 cccc. 3 
4 dddd. 4 

然後當你更新的第4排的修訂字段應該是5則更新,如果連續兩次,第2行修訂應爲6

對於刪除使邏輯刪除,並且還更新該行的修訂版本,這應該是個訣竅。

您返回按修訂排序。

+0

我不明白..如果我更新第4行,那麼修訂版怎麼變成5?並刪除第2行如何變成6?我不明白的邏輯... – user3184462

+0

是的..我有點理解邏輯...假設我刪除第2行..然後修訂版本是6,然後當我添加另一行修訂版本是7?對? – user3184462

+0

@ user3184462恰到好處。客戶端發送它當前所在的版本ID。 –