2011-04-02 70 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