我想显示用户发布的帖子数,但我有几个不同的表,需要匹配 id 并计算它们。
像这样的东西:
用户表
userid username email regdate
34 mister email@some.tld 2013-10-26 12:01:07
帖子表
postid creator post_comment post_title status
1 34 This is comment Post 1 published
2 12 This is comment Post 2 published
3 34 This is comment Post 3 pending
4 25 This is comment Post 4 published
5 34 This is comment Post 5 published
现在我已经有一个查询,我从 users 表中选择有关特定用户的所有数据:
mysqli_query($conn, "SELECT * FROM users WHERE userid = $userid");
$userid 是当前登录的用户的 ID。这很好用:它选择有关该用户的所有相关信息。
但我想显示每个用户发布的帖子数量。我在 w3schools 的某个地方读到 SQLCOUNT
函数的工作原理是这样的:
mysqli_query($conn, "SELECT COUNT(creator) AS userposts FROM posts WHERE creator=$userid");
但是,正如您在发布的表格示例中看到的那样,在 5 个帖子中,有 3 个来自用户 34,而这 3 个中的 1 个未发布。
我不知道如何进行 SQL 查询来选择用户 ID 与 $userid 匹配的所有用户,然后从帖子中选择创建者和状态,并计算创建者为 $userid 且状态已发布的帖子数量。
这是我最终目标的输出:
用户先生已发布 2 个帖子。