基于用户选择的用户间动态数据匹配
Dynamic data matching between users based on user selection
我希望你们中更有经验的程序员能够对这种情况有所了解:
我的站点允许用户创建个人资料并输入他们最喜欢的音乐家,所有这些都驻留在预先存在的音乐家数据库中。
根据他们选择的艺术家,我想向他们显示选择相同艺术家的其他用户。
任何人都可以就如何有效地完成这项工作提出建议吗?
我在后端使用 SQL 和 PHP。
您需要在用户和音乐家之间创建交叉引用 table 来定义 'likes' 关系。至少它只需要包含用户 ID 和音乐家 ID。
CREATE TABLE user_likes_musician (
user_id INT NOT NULL,
musician_id INT NOT NULL,
PRIMARY KEY(user_id, musician_id)
);
要找到喜欢特定音乐家的用户,您只需加入喜欢 table 的用户 table:
SELECT * FROM users
JOIN user_likes_musician
ON (users.ID = user_likes_musician.user_id
AND user_likes_musician.user_id <> [current user id]
AND user_likes_musician.musician_id = [musicians id]);
我希望你们中更有经验的程序员能够对这种情况有所了解:
我的站点允许用户创建个人资料并输入他们最喜欢的音乐家,所有这些都驻留在预先存在的音乐家数据库中。
根据他们选择的艺术家,我想向他们显示选择相同艺术家的其他用户。
任何人都可以就如何有效地完成这项工作提出建议吗?
我在后端使用 SQL 和 PHP。
您需要在用户和音乐家之间创建交叉引用 table 来定义 'likes' 关系。至少它只需要包含用户 ID 和音乐家 ID。
CREATE TABLE user_likes_musician (
user_id INT NOT NULL,
musician_id INT NOT NULL,
PRIMARY KEY(user_id, musician_id)
);
要找到喜欢特定音乐家的用户,您只需加入喜欢 table 的用户 table:
SELECT * FROM users
JOIN user_likes_musician
ON (users.ID = user_likes_musician.user_id
AND user_likes_musician.user_id <> [current user id]
AND user_likes_musician.musician_id = [musicians id]);