在PHP中构建多通知系统的最佳方法是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我目前正在开发一款移动应用程序,可以让您向朋友询问最爱,这是一个HTML5前端和一个PHP后端。建立一个通知系统的最好方法是什么,更重要的是数据库模式比实际的代码本身。

移动应用程序流程如下:

  • 用户请求帮忙
  • 用户可以选择; 通知所有的朋友,通知最喜欢的朋友或亲朋好友
  • 根据用户的选择,人们会收到通知

在PHP和MySQL中执行此操作的最佳方式是什么?我并不是真的要求任何人写我的PHP代码,而是绘制出最理想的MySQL表和字段模式,而不是像我目前所坚持的那样。在此先感谢您的帮助。

提问于
用户回答回答于

可以创建一个通知表,如:

from_user | to_user | notification | seen

然后每当你想通知一个用户时,你只需添加一条记录和所需的信息并设置seen0/ false

然后,当用户读取通知时,将该参数设置为1/ true

例:

from_user | to_user | notification | seen
    -          -          -           -

用户john通知用户jeff:

from_user | to_user | notification | seen
   john      jeff       whatever..    0

用户jeff阅读通知:

from_user | to_user | notification | seen
   john      jeff       whatever..    1  
用户回答回答于

为什么不在一个名为“通知”的表中列出所有通知

id | user_id | from_user_id | notification
  • id =通知ID
  • user_id =谁是通知?
  • from_user_id =谁发送了通知?
  • 通知=消息

然后作为伪代码:

// Create a notification from User A to User B
$this->db->insert ('notifications', array ('user_id' => $friends_id, 'from_user_id' => $current_user_id, 'notification' => $message));

 // The meanwhile, on your home page or somewhere, wherever you want to display notifications
 $this->db->where ('user_id', $current_user_id)
 $notifications = $this->db->get ('user_id');
 foreach ($notifications as $notification)
 {
         // Display the notification as needed
         // Optionally delete the notification as it is displayed if it is a "one off" alert only
 }

扫码关注云+社区