gpt4 book ai didi

php - 如何为用户感兴趣的主题列表创建数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:39 24 4
gpt4 key购买 nike

对于我正在处理的网站,我希望用户能够勾选代表他/她可能感兴趣的事物的多个框,类似于 StumbleUpon。用户将选中“网页开发”和“网页设计”,然后单击“提交”,然后会将他的偏好存储在数据库中。

以后,如果有人创建了一个项目,并标记了他选择的其中一项首选项,则该用户将获得更新。因此,如果我创建了一个名为“构建网站”的新项目并选中了“网络开发”类别,所有在个人资料中选择了“网络开发”的用户都会收到某种消息或电子邮件,提醒他们新创建的项目主题。

以 MySQL 格式实现此功能的最佳方法是什么?我查看了一些关于管理分层数据的页面(会有通用类别,如“计算机”或“音乐”,管理员将能够添加/删除/编辑类别),但似乎没有一种方法是我需要的 -至少,不是以我陷入的思维方式。也许有一个我一直忽略的更简单的答案?

最佳答案

创建一个包含各种兴趣的表格。说

Interests :- id, interest

然后是一个表,其中存储了用户选择的所有兴趣作为

UserInterests :- user_id, interest_id

和项目利益关系为

ProjectInterest :- project_id, interest_id

现在,当添加一个新项目时,您可以运行类似于以下的查询,让用户了解该项目是否感兴趣

SELECT DISTINCT user_id
FROM UserInterests ui, ProjectInterests pi
WHERE ui.interest_id = pi.interest_id AND pi.project_id = <new project id>

或者,使用显式连接语法:

SELECT DISTINCT user_id
FROM UserInterests ui
INNER JOIN ProjectInterests pi ON ui.interest_id = pi.interest_id
WHERE pi.project_id = <new project id>

关于php - 如何为用户感兴趣的主题列表创建数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com