通知,已设置已查看

时间:2014-05-26 04:25:37

标签: php mysql notifications

我创建了一个通知表。从那张桌子我可以显示最后的通知。

enter image description here

如果用户没有看到它,我实际上只会显示新用户的通知。

enter image description here

所以我考虑在我的表中“再查看”另外一列,并在查看后设置1(点击铃声时)。但这将为所有用户设置...

我想问一下最好的方法是什么?

我应该创建一个列“user_id”来存储已经查看过通知的id字符串吗? “.1。,。3。,。17。”

或者创建另一个包含“id,user_id,notification_id,viewing”

列的表

如果您有任何其他解决方案,请随时向我提出建议。

PS:加载页面时会重新加载通知,不需要ajax。

1 个答案:

答案 0 :(得分:2)

为user_viewed_notifications创建另一个表,让它只有两列,即notification_id和user_id,并使它们成为配对密钥。

create table user_viewed_notifications(
user_id int unsigned not null,
notification_id int unsigned not null,
primary key (user_id,notification_id)
);

这将提供非常快速的查找,而不会阻碍其他连接或表格,并且所有索引都没有额外信息。