Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 内置消息系统,管理所有成员_Php_Mysql - Fatal编程技术网

Php 内置消息系统,管理所有成员

Php 内置消息系统,管理所有成员,php,mysql,Php,Mysql,我的网站由一个内置的消息传递系统组成,用户可以将消息发送给另一个用户并在网站内查看。这是一种Facebook信息服务,但它不使用电子邮件地址,只使用网站内的用户对用户的信息服务 此邮箱表的我的列是邮箱id、成员id、发件人id、发送日期、主题、正文、未读、已读、已删除 当一个用户(memberid=1)发送给另一个用户(memberid=2)时,邮箱\u id将自动递增,memberid将是接收者的id,发送者\u id将是发送消息的用户,即“memberid=1”。希望你明白我的意思 然而,我

我的网站由一个内置的消息传递系统组成,用户可以将消息发送给另一个用户并在网站内查看。这是一种Facebook信息服务,但它不使用电子邮件地址,只使用网站内的用户对用户的信息服务

此邮箱表的我的列是邮箱id、成员id、发件人id、发送日期、主题、正文、未读、已读、已删除

当一个用户(memberid=1)发送给另一个用户(memberid=2)时,邮箱\u id将自动递增,memberid将是接收者的id,发送者\u id将是发送消息的用户,即“memberid=1”。希望你明白我的意思

然而,我的问题来了。如果我是一个管理员用户,并且想向我站点中的“所有”成员发送消息,我不知道如何将其存储在我的表中。当然,我可以为每个成员创建每条消息。假设有1000个成员,那么该表中将有新的1000行。我怎样才能避免这样做?我只想在该表中有一个新行,所有用户都可以看到此消息

我正在考虑使用memberId=0,所有成员都可以看到此消息,因为没有成员使用该id=0。但是,如果有一位会员删除了按摩,我如何跟踪?或者看到那个消息了吗?“已删除”列只能由一个用户使用。1=已删除,0=未删除


请帮助,谢谢。

memberId=0我认为这是个好主意,但要跟踪是哪个成员删除了邮件?或者看到那个消息了吗?您可以在表
deleted\u by
seen\u by
中再添加两列。使它们成为文本字段。在
seen_by
中,用逗号分隔所有
membersid
,这样在前端,您就可以获取已看到或未看到的值,以及对
deleted_by


另一种方法是,如果您希望向多个成员发送一些消息,而不是全部,而不是一个,则可以创建一个不同的表,用于向多个成员发送消息

我找到了一个解决方案,按照@Mohit Shrivastava的建议,用另一种方法创建了两个不同的表。下面是我的结构

mailbox: id, sender_id, subject, body
mailbox_status: id, mailbox_id, recipient_id, is_read, is_deleted, sent_at

如果有人有更好的想法,请纠正我。谢谢

如果我创建deleted_by和seen_by字段,会不会使我的数据库变慢?比如说,如果我有大约100万的用户,并将所有的数字存储到该列中?ThanksIt可能会影响速度,但非常正常。请查看数据类型,谢谢。我想这是我现在唯一的解决办法。