Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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_Post_Friend_Privacy - Fatal编程技术网

Php 我需要一个用户帖子表(只允许看到朋友,特定的人等)

Php 我需要一个用户帖子表(只允许看到朋友,特定的人等),php,mysql,post,friend,privacy,Php,Mysql,Post,Friend,Privacy,当用户发布消息时,他可以选择:仅允许查看朋友、特定人员等 mysql表: Post post_id post_nr user_id privacy option 1 1 2 allowed for friend id1 2 1 2 allowed for friend id2 or 1 1 2 allowed for fri

当用户发布消息时,他可以选择:仅允许查看朋友、特定人员等

mysql表:

Post

post_id   post_nr    user_id    privacy option
1         1          2          allowed for friend id1
2         1          2          allowed for friend id2
or
1         1          2          allowed for friends id1,allowed for friend id2 .?
如何在mysql中注册一篇文章的多个选项(隐私)?
表的设计正常吗?

您可以通过将
隐私\u选项
表连接到您的
post
表来解决此问题

post

post_id post_nr user_id
1       1       2

privacy_option

post_id friend_id
1       3
1       4

这样,每个帖子可以列出几个朋友,您可以通过简单的
加入
获得朋友ID列表。确保将
privacy\u选项.post\u id
标记为指向
post.post\u id

的外键,最好为隐私选项设置一个单独的表。我不知道你所说的“邮递”是什么意思

表:员额 邮政编码|邮政编码|用户编码 表:隐私
post|id |隐私|选项不能在单个字段中保存多个值。麻烦远多于好处。若我在表中搜索,若我以你们的方式搜索,mysql表中的所有行都会被扫描?如果我有5亿篇文章(我们假设),并且我将限制设置为1会更快?因此,post\u nr将包含来自用户的文章。@HoaHooksonair No。您需要在
post
表中使用另一个具有某种合适类型(
TEXT
可能)的属性来包含实际的文章数据。我只为您的“一对多”问题提供了一个解决方案。post\u nr用于post中的数字。您的解决方案使我从post_nr改为post_text(我认为还可以)。post\u id post\u文本用户\u id 1 1 2隐私\u选项post\u id朋友\u id 1 3 14@HoaHooksonair所以,您选择了我要实施的解决方案,但接受了另一个答案?:)有趣。不管怎样,很高兴我能帮忙。我接受了。只需要选一个吗?我学到了另一件事谢谢。post\u nr是来自post的号码。