我是靠谱客的博主 漂亮冬日,最近开发中收集的这篇文章主要介绍php给MySQL添加用户_mysql – PHP – 将用户添加为好友,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

真的没有正确或错误的方式,这是你决定使用的,在一天结束时它是你的代码,所以无论你选择什么,为你工作.

但是,你是完全正确的,进入两行将是一个非常沉重的开销,并使用额外的空间看似没有充分的理由.更简单的是,您可以在数据库中设置另一列:

user_1 | user_2 | accept_code |公认

user_1请求将user_2添加为好友 – 您设置了一个accept_code,在DB中创建一个条目.设置数据库结构以将接受列设置为false.然后,当首次创建行时,用户当前不是朋友.

使用你的例子:bob请求fred作为朋友.你的数据库现在看起来像这样:

鲍勃|弗雷德| 123123 |假

当user_2输入accept_code时,则将accepted更改为true.

鲍勃|弗雷德| 123123 |真正

这样,一个查询将告诉您这两个用户是否是朋友,而不是两个查询,以查看您是否有两个匹配的数据库条目.

因此,例如,鲍勃已经添加了弗雷德,乔和亚历克斯作为朋友,弗雷德和亚历克斯已经接受鲍勃作为朋友,但乔没有.你的数据库看起来像这样:

user_1 | user_2 | accept_code |公认

鲍勃|弗雷德| 123123 |真正

鲍勃|乔| 321321 |假

鲍勃|亚历克斯| 789789 |真正

所以例如,一个假的选择也许,找到bob的所有朋友:

SELECT user_2 FROM relationships WHERE user_1 =“bob”AND accepted =“true”

结果将是:

弗雷德

亚历克斯

根据评论更新:

数据库结构:

user_1 | user_2 | accept_code |公认

鲍勃|弗雷德| 123 |真正

鲍勃|亚历克斯| 123 |真正

鲍勃|乔| 123 |假

ste |鲍勃| 123 |真正

乔|亚历克斯| 123 |真正

选择声明:

SELECT * FROM relationships WHERE accepted =’true’AND(user_1 =’current_user’或user_2 =’current_user’);

示例1 – bob登录,他已经请求了朋友并被要求作为朋友:

SELECT * FROM relationships WHERE accepted =’true’AND(user_1 =’bob’或user_2 =’bob’);

结果:

鲍勃|弗雷德| 123 |公认

鲍勃|亚历克斯| 123 |公认

ste |鲍勃| 123 |公认

示例2 – alex登录,他从未请求和朋友,但已被要求作为朋友:

SELECT * FROM relationships WHERE accepted =’true’AND(user_1 =’alex’或user_2 =’alex’);

结果:

鲍勃|亚历克斯| 123 |公认

乔|亚历克斯| 123 |公认

示例3 – joe登录,他已经请求了一位朋友并拒绝了一位朋友:

SELECT * FROM relationships WHERE accepted =’true’AND(user_1 =’joe’或user_2 =’joe’);

结果:

乔|亚历克斯| 123 |公认

最后

以上就是漂亮冬日为你收集整理的php给MySQL添加用户_mysql – PHP – 将用户添加为好友的全部内容,希望文章能够帮你解决php给MySQL添加用户_mysql – PHP – 将用户添加为好友所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部