如何向群组用户发出已读/未读标志通知?

use*_*065 5 php mysql notifications database-design design-patterns

我正在制作一个通知系统,以便当组中的用户执行操作时,它会通知组中的所有其他用户。我希望该组的每个用户将通知标记为“已读”或“未读”。这样,我可以轻松地检索用户的任何未读通知并显示它。我正在考虑创建一个包含以下字段的通知表。

+----------------------+
| notification         |
+----------------------+
| id                   |
| userid               |
| content              |
| status (read/unread) |
| time                 |
+----------------------+
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 是否是正确的系统制作方法?因为这意味着当一个组中有 1,000 个用户时,我必须向表中插入 1,000 行。如果没有,更好的方法是什么?
  2. 如果是这样做的方法,我该如何编写 php/mysql 代码来循环插入行?

谢谢!

The*_*dis 3

更好的方法是将通知与用户分开,方法如下:

Table Notification
------------------
not_id
time content

Table User
----------
u_id

Table NotificationStatus
------------------------
id
u_id
not_id
bool read
Run Code Online (Sandbox Code Playgroud)

这样,您只需保存每个通知一个,这使得修改/编辑通知变得更容易