繁体   English   中英

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

[英]PHP/MySQL/jQuery/AJAX Twitter-like news feed update

我将如何做到这一点,以便我的网站上的新闻提要检查在设定的时间间隔内是否有新的状态更新,然后显示一个显示“(?)New Messages”的按钮,然后单击该按钮仅加载新的,并将它们附加在同一个feed div中?

我想到了几种方法,但是由于我不想替换已加载的代码,它们都陷入了麻烦(因为我限制为10,并且底部有一个加载更多按钮,可以更早加载)帖子)。

您可以执行以下步骤:

  1. 制作一个PHP脚本以返回新消息,或者当没有新消息时返回false
  2. 用jQuery将Ajax调用写入PHP脚本
  3. 检查响应是否返回false或数据,将其显示到页面上的某个div
  4. 如果返回了一定数量的消息,请对它们进行计数并删除已加载的消息,以保持10条消息的限制
  5. 设置执行Ajax调用的间隔

试一试。 如果您有一些代码,请编辑您的问题(尝试),如有必要,我们可以为您提供进一步的帮助。 因此,这里不是您可以“订购”现成的脚本的地方;-)

伪代码

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

}

如果您已经完成了feedsdiv的工作,那么

假设您的新闻提要就像

<div id="feed"><div>

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

您可以按以下方式添加新的供稿

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

如果您真的不想删除现有帖子,则一种可能的策略是允许超出通过setinterval驱动的呼叫上传的可见邮件的限制,或者为它们设置更大的限制(例如15),仅在边缘情况下删除邮件。 另一个方面是该“收件箱”中邮件的状态。 引入“已读”状态将有助于管理收件箱,并在有大量新邮件进入时清除已读邮件。我认为这种方法取决于预期的邮件发送率,无论如何,您都必须解决一些不重要的情况

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM