PHP / MySQL / jQuery / AJAX类似Twitter的新闻源更新

时间:2013-07-22 11:10:23

标签: php javascript jquery mysql ajax

我怎样才能使我的网站上的新闻源检查是否在设定的时间间隔内有新的状态更新,然后显示一个按钮,说“(?)新消息”,然后点击它只加载新的并将它们添加到同一个Feed div中?

我想到了一些这样做的方法,但它们都因为我不想替换已经加载的那些而导致复杂化(因为我有一个限制为10并且我在底部有一个加载更多的按钮加载早期帖子。)

3 个答案:

答案 0 :(得分:2)

您可以执行以下步骤:

  1. 创建一个返回新消息的PHP脚本,或者在没有新消息时创建false
  2. 使用jQuery将Ajax调用写入PHP脚本
  3. 检查回复是否返回false或数据,将其显示在您网页上的某个div
  4. 如果返回了一定数量的邮件,请对其进行统计并删除已加载的邮件以保持10条邮件的限制
  5. 设置执行Ajax调用的时间间隔
  6. 试一试。如果您有一些代码:编辑您的问题(通过您的尝试),我们可以在必要时帮助您。所以你不能“订购”现成的脚本; - )

    伪代码

    <强> PHP

    if(amount of results from database after last update time) {
    
        return messages
    
    }else{
    
        return false
    
    }
    

    <强>的jQuery

    send last update time with Ajax
    
    if(return of Ajax == false) {
    
        do nothing
    
    }else{
    
        prepend messages to certain div
        remove last messages to stay at limit of 10 messages
        set last update time
    
    }
    

答案 1 :(得分:0)

如果您已经完成了feeddiv,那么

假设您的新闻Feed就像

<div id="feed"><div>

您正在将Feed加载到div“Feed”,然后

您可以按以下方式添加新Feed

$("#feed").append("YourNewFeedHTML");

答案 2 :(得分:0)

如果您真的不想删除现有帖子,一种可能的策略是允许超过通过setinterval驱动调用上传的可见消息的限制,或者为它们设置更大的限制,例如15,并且仅删除边缘情况下的消息。另一方面是“收件箱”中邮件的状态。引入“读取”状态将有助于管理收件箱,并在许多新邮件进入时清除读取消息。我认为该方法取决于预期的消息速率,无论如何您将不得不解决一些编辑案例