如何在PHP中添加“friends”功能?

时间:2010-01-06 01:50:12

标签: php

Hello堆栈溢出我需要帮助解决这个问题。 好吧,我在php中有一个平面文件数据库,它记录用户,爱好,青睐电影等等。 现在我想添加一个伙伴系统,这样他们就可以拥有朋友,并在没有SQL的情况下在php中相互发送消息。

2 个答案:

答案 0 :(得分:3)

好吧,我担心没有神奇的答案或神奇的PHP函数可以调用来启用此行为。

如果我们要帮助你,我们真的需要更多的工作。

如果您真的出于神秘的原因决定坚持不使用SQL数据库 - 那么我可能仍然会“倾向”像SQL一样存储它。假设您当前正在将每个用户存储为文件中的一行,每个“字段”由一些字符分隔 - 只需在文件中添加另一个“字段”,并将其包含每个用户的每个“id”,即他们是朋友with(id,无论你使用什么,只要它是唯一的,就可以是一个名字)。

至于消息,另一个描述消息本身,发件人和收件人的平面文件可能是最佳选择。

现在真正的问题是,为什么如此急于避免使用SQL数据库?如果是因为必须安装数据库,请尝试SQLite

答案 1 :(得分:3)

考虑使用另一个维护链接的表(呃,平面文件?)。如果此表(ff?)中存在链接“Mark”和“John”的行,则“Mark”和“John”是伙伴。我建议使用某种索引(你知道,就像一个主键)。

假设你有一个包含用户和一些数据的用户表(或平面文件,无论什么, 那么无关紧要),它看起来像这样:

UID | Username | Hobbies
------------------------
1   | Mark     | Swimming, Sailing, Skiing
2   | John     | Biking, Paragliding
3   | Suzie    | Flying, Skiing

你有这个其他的朋友表(再次,平面文件,无论......):

Pair ID | A  | B
----------------
1       | 1  | 2
2       | 2  | 3

我们在这张朋友表中编码过Mark和John是朋友,John和Suzie是朋友,但由于缺少关系1和3,我们知道Mark和Suzie不是朋友(至少根据我们的记录)。

请注意,如果您想要获取John的所有朋友,您必须在表A(或文件)中找到在A列或B列中具有John的UID(此处为= 2)的所有行。