使用PHP从MySQL获取新添加的行

时间:2011-04-02 21:51:34

标签: php jquery mysql

我有一个表posts,其中包含post_iduser_idpost列。

当用户访问他的页面时,我会检索他的帖子列表(select post from posts where user_id=$uid)。然后,他可以通过表单向表格添加一个或多个帖子。

有没有办法可以在不查询整个表格的情况下检索这些新添加的帖子?

我特别感兴趣的是使用jQuery定期自动刷新他的帖子(比如选择“自动刷新”时的YouTube评论)。

谢谢,艾伯特

4 个答案:

答案 0 :(得分:2)

如果我是你,我会在发布帖子时跟踪,例如

post_id, user_id, post, made

您可以使用AJAX ping脚本以检查自上次ping~

以来发布的帖子

答案 1 :(得分:1)

像这样查询你的数据库:

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

这将获得最近的20个帖子。

答案 2 :(得分: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

答案 3 :(得分:0)

如果用户在您要更新的同一页面上提交帖子,为什么不在邮件成功提交后立即更新页面(通过ajax)?您可以避免重新获取已知的信息,并避免一起重新查询数据库。

您可以在提交时动态地向页面添加帖子。

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

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