用于添加朋友的PHP脚本

时间:2012-01-24 12:31:37

标签: php mysql database

好吧,我正在尝试最近5天创建简单的注册,确认,登录PHP脚本,这是在UNI的任务,但我正在尝试最近5天,它不工作的事情是将朋友添加到朋友名单。孩子喜欢Facebook但更简单,它是我们作为小组作业获得的Android游戏。

我有一个TABLE users我有字段ID, username, password, email, friends

对于外地朋友,我想将多个值保存为朋友的ID。在游戏中检索一些用户信息。

这个db和表在MySQL上,INSERTUPDATE对我不起作用,INSERT正在创建新记录,不能只插入现有记录的一列UPDATE不能只插入值,而是删除旧值并在其中插入新值。

3 个答案:

答案 0 :(得分:3)

看到这是一个多对多的关系(如果我是正确的)所以创建一个记录这个的单独表是明智的。

Table: Friends
userID
userID2 (or friendID)

你可以填写。

了解更多信息:http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx

答案 1 :(得分:2)

通常你会添加一个带有字段的freinds表:

USER_ID friend_id

其中两个字段都是对用户表id字段的引用。

如果您 - 由于某种原因 - 需要将其作为用户表中的字段序列化id值并将其保存在那里。

注意:您将无法轻松加入表格,并且没有自动保持完整性的可能性。如果删除用户,将不会删除在“朋友”字段中对此用户的任何引用。这对于辅助朋友表和外键都是可能的。

答案 2 :(得分:2)

您在此处描述的是人与朋友之间的many-to-many关系。在关系数据库中实现这一点的规范方法是使用数据透视表,其中每一行代表两个人之间的“友谊”。您有两个字段来保存ID:

users表:

id, name, email, etc.

friendships表:

user_id_1, user_id_2

然后,如果用户1是用户2和用户3的朋友,则您在(1,2)表中有记录(1,3)friendships。如果您愿意,可以将这些视为互惠关系,或者您可以要求(2,1)记录来表示用户2也是用户1的朋友。

相关问题