我一直致力于一个项目,我需要在他的个人资料下发生某些活动时向用户显示通知(比如有人对他的照片发表评论)。
我计划使用PHP和mysql与ajax(用于异步请求)。
Table 'alerts':
Id(PK) by_id(FK) notification is_seen
10 02 max commented on your photo. true
20 45 john replied to your comment. true
30 65 jack liked your photo . true
40 41 jill poked you. false
我正在做的是如果一个登录用户(比如说max)评论另一个用户(比如ben's)pic,
然后我首先形成一个通知(“max commented on your photo
”),将其保存到db,如上所述,
然后通过ajax向其他用户(ben)显示他的通知,每隔5秒刷新一次。
我想问一下这些通知的数据库表结构应该是什么?
这是在php中制作这样的系统的合适方式吗?
我应该在我的数据库中保存整个通知吗(如上所述)?
或者他们的任何其他方法更好的方法吗?
注意:我不想使用websockets,因为我预计将来不会有太多流量(这是针对学校网站的)。
提前致谢。
答案 0 :(得分:1)
我会删除通知栏中的名称(即杰克和吉尔),然后添加事件(即在照片上留言)。
然后,我会为执行操作的人的用户ID(FK)创建一个单独的列,以及操作接收者的用户ID的列。
而不是true / false使用BOOLEAN数据类型并存储为1或0。