【问题标题】:How to dynamically show new notifications using? [closed]如何使用动态显示新通知? [关闭]
【发布时间】:2016-10-22 13:46:56
【问题描述】:

感谢您抽出宝贵时间。

我有一个网页,它使用 PHP 脚本从 MYSQL 数据库中获取管理员创建的“通知”给用户。现在我想如果管理员创建一个新通知它应该被动态添加到用户页面。

就像 Facebook 一样,当用户登录并且他的朋友发布了一些东西时,在那一刻我可以看到新帖子的通知无需重新加载页面

【问题讨论】:

  • 这是一个非常广泛的问题,有很多关于此类实现的文章/教程。无论如何,简而言之,您可能应该寻找 websockets,但 PHP 不是最好的语言,但仍然有可能。
  • 各位,抱歉迟到了,我不想包含任何 google API 或链接参考。

标签: php mysql


【解决方案1】:

您得到的 2 个选项是使用 ajax 或 websockets 来实现。

Ajax

创建一个您使用 ajax 调用的脚本“notification.php”,它将返回通知的数量,其中 0 表示无意义,任何高于 0 的内容都会在通知图标旁边添加数字。

http://blog.teamtreehouse.com/beginners-guide-to-ajax-development-with-php

网络套接字

向 PHP websocket 服务器运行 javascript websocket,该服务器将向客户端发送实时通知数量的消息。与 ajax 的逻辑相同。

http://code.tutsplus.com/tutorials/start-using-html5-websockets-today--net-13270

差异

Ajax 你可以有一个间隔,每 15/30 秒检查一次是否有新的通知,此时 websocket 将是即时的。

【讨论】:

  • 对不起朋友,你提供的关于 AJAX 的参考对我不起作用,因为我们必须点击“获取更多按钮”,在我的场景中,应该会出现新的通知 自动. 为此,我认为我们应该使用 Ajax,它有几秒钟的计时器,它会通知新的通知。
  • 这只是一个参考如何使用 ajax,您可以构建一个函数来进行 AJAX 调用并获取响应,然后有一个间隔,例如每 15 秒重复这个函数。 stackoverflow.com/questions/5052543/…
  • 长期轮询..
  • 不敢相信直到今天我还没有听说过 WebSockets! +1
【解决方案2】:

有很多方法可以做到这一点,其中一种可能是这样。只需定义一些用户组并将这些通知发送给他们,当你想查看通知时也检查组通知,实际上你只会插入一行到数据库,但其组中的所有用户都可以看到它。 如果您的问题是关于如何获取这些通知,您可以定义一个 JavaScript 间隔并使用 ajax 检查来自服务器的新通知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    相关资源
    最近更新 更多