AJAX自动刷新使最后一个条目可见!

时间:2011-05-06 06:33:25

标签: php mysql ajax

我是PHP新手。我想建立一个用户可以提问的论坛。我正在使用ajax自动刷新页面。但是它会产生一些问题......

首先,如果我制作特定的div,将显示最近的问题,则仅刷新最新的问题。 让我用ex:

清除它
  1. 用户A打开论坛
  2. 他得到问题qlatest,q1,q2,q3。其中包含qlatest的div每1秒刷新一次
  3. 用户B发布问题qlatest2
  4. qlatest被qlatest2取代!
  5. 现在我应该让整个div包含所有问题刷新吗?

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望创建类似Twitter Feed的内容,其中最新项目会相互显示。

整个DIV刷新的原因是因为您正在重写该DIV的整个内部HTML。要避免这种情况,请使用.appendChild()并对PHP回调文件进行编程,以便仅从数据库中提取最新记录。

http://www.ezineasp.net/post/Javascript-Append-Div-Contents.aspx

JQuery还有一些非常有用的功能,可以添加孩子。如果您不熟悉AJAX,我建议使用Javascript库。

答案 1 :(得分:1)

你必须:

  1. 添加一些返回上一个问题的数据源。
  2. 以恒定间隔调用该数据源并将返回的问题加载到div ..
  3. 最简单的解释是以下解决方案: 编写使用JS内置函数setInterval()来加载的JavaScript代码。脚本last_question.php进入div。你可以这样做,例如。使用jQuery load()函数,它可以看起来像。像这样(假设你的div的ID为“last_question”):

    jQuery('#last_question').load('last_question.php');
    

    当然可以优化。为此,请阅读:

    1. 长轮询
    2. JSON格式
    3. jQuery.requestJSON()jQuery函数
    4. 也许有些效果会让问题变得更加顺畅(比如滑出和滑入)