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