2011-04-02 69 views
1

從MySQL新添加的行我有一個表posts的列post_iduser_idpost開始使用PHP

當用戶訪問他的頁面時,我檢索他的帖子列表(select post from posts where user_id=$uid)。然後,他可以通過表單將一個或多個帖子添加到表格中。

有沒有什麼辦法可以在不查詢整個表的情況下檢索這些新增加的帖子?

我特別感興趣的是在jQuery中使用它來定期自動刷新他的帖子(例如,當YouTube評論選擇「自動刷新」時)。

感謝,阿爾伯特

回答

2

如果我是你,我會跟蹤的職位進行了改造,例如

post_id, user_id, post, made 

您可以使用AJAX來ping一個腳本來檢查自上次平〜

1

查詢的帖子你DB這樣的:

"select * post from posts where user_id=$uid order by post_id desc limit 0,20" 

這將讓最近的20個職位。

1

假設'post_id'字段是一個自動增量int,您可以在第一次加載頁面時跟蹤最大值ID。對於後續的jQuery Ajax請求,只是做一個

SELECT * FROM posts WHERE user_id = '{$user_id}' AND post_id > '{$last_id}' ORDER BY post_id ASC

+0

權,這在我看來是最合理的事情 - 感謝薩姆 – alste 2011-04-02 22:15:00

0

如果用戶提交要更新,爲什麼不盡快後成功提交更新頁面在同一頁上的帖子(通過AJAX)?您避免重新獲取您已知的信息,並避免重新查詢數據庫。

您會在提交頁面時動態添加帖子。

function onPostSubmitted(post){ 
    // AJAX submit of the post 

    $("#posts").prepend($("<div />").text(postData)); 
} 
+0

是啊,這就是我一直在做之前,但我也需要的不是帖子的自動更新功能不一定那些當前用戶和他的網頁上會出現。 – alste 2011-04-03 09:51:59

+0

我認爲在這種情況下,Shad的解決方案就是一個解決方案。 – skabbes 2011-04-04 03:42:41