该网站旨在让用户能够加入课程并将其更新发布到这些课程中,还可以接收其他人所做的课程更新(Imagen课程在Facebook中作为组,但在我的网站中,用户仅通过课程发布更新)
当用户登录到网站时,他会看到他已经加入的课程中的所有更新。
我在mysql中有很多表:
“更新”具有这些属性(ID、帐户ID、课程ID、日期时间、内容),表明课程和帐户ID是外键。
“课程”具有这些属性(id、name等)
具有这些属性的“帐户”(ID、全名…)
“accounts_courses_relationship”(account_id,courses_id),用于映射用户与课程之间的关系。
我尝试过很多次,但我得到的唯一结果是显示所有课程的所有更新,而不排除用户不是其成员的课程中的更新,如下所示:
$sql = "SELECT DISTINCT datetime, content
FROM updates
WHERE account_id != {$account_id}
ORDER BY datetime DESC
LIMIT 10";
那么,如何从这些课程中排除更新呢?
注意:不要忘记用户和课程之间的所有映射都注册在上面显示的表中。
最佳答案
像这样的事情应该行得通
select *
from updates u
join accounts_courses_relationship r on u.courseid = r.courseid
where r.account_id = {$account_id}