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 |公认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值