>백엔드 개발 >PHP 튜토리얼 >PHP消息提醒数据表

PHP消息提醒数据表

WBOY
WBOY원래의
2016-06-06 20:20:401477검색

请问如何设计站内消息提示功能,比如segmentfault这样的功能,我发布一个问题,有人回答以后,我会收到一个未读消息数目提醒,数据表怎么设计比较合适?

回复内容:

请问如何设计站内消息提示功能,比如segmentfault这样的功能,我发布一个问题,有人回答以后,我会收到一个未读消息数目提醒,数据表怎么设计比较合适?

PHP消息提醒数据表

PHP消息提醒数据表

notice_code是在代码中定义的,同时也定义的通知信息的模板

<code>public static $notice_type = [
        'answer'          => [
            'is_agreed'       => [500, '[who] 赞了你的回答!'],
            'is_modified'     => [501, '[who] 修改了你的回答!'],
            'is_fold'         => [502, '[who] 折叠了你的回答!'],
            'has_new_comment' => [503, '[who] 评论了你的回答!'],
        ],
    ];</code>

比如图中的503是代表评论通知,某人评论了某个回答,需要的参数就是:谁

通知列表中,先判断通知代码是什么,找到对应的模板,根据相应参数,转换里面的变量[who]

刚才考虑一下,有一个初步的方案,请大家喷:
主要有2个表:
question:问题信息的表
id(autoincrement) user_id(发表问题的用户ID) question_id(问题ID(系统内唯一)) question_desc(问题表述) like_user_list(赞的用户列表,user_id使用‘,’进行分割)
reply:
id(autoincrement) user_id(对问题进行回答的用户ID) question_id(与question中的question_id为外键)reply_content(评论内容) like_user_list(赞的用户列表,user_id使用‘,’进行分割) unlike_user_list(反对的用户的ID list)
具体操作如下:
1、用户发布一个问题的时候,向question中插入一条记录;
2、别人对用户的这个问题进行评论的时候,向reply中插入一条记录
3、别人认为这个问题很好,对这个问题或者回复进行点赞,追加对应的like_user_list
需要进一步完善的地方:
(1)、对评论者的回复的记录

数据库表怎么设计我就不多说了 我想说的是提醒类的并不适合存表 一般考虑走缓存 不可能我每刷新一次都去表里count一遍 这种数据直接走缓存更高效

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.