gpt4 book ai didi

mysql 查询 : display all entries from guestbook_comments for a specific owner_id

转载 作者:行者123 更新时间:2023-11-29 05:42:34 24 4
gpt4 key购买 nike

我需要一些帮助来查询多个表。

我的数据库:我有以下表格:

1. users (user_id, user_name, ..) //user_name is unique.
2. guestbook_comments(owner_id, comment_author_id, comment ..)
3. profile_photo(profile_photo_id, user_id, path)

我的问题:我想构建以下查询:

  1. 我有类似 guestbook.php?user=sudeep 的网址.所以我得到 user_name通过 $_GET['user']; user_name是唯一的(在用户表中)。
  2. 我想显示来自 guestbook_comments 的所有条目对于特定的 owner_id (但我只知道 user_name,所以我需要从 user_id 表中找到 users)。
  3. 对于 comment_author_id 中的每一个在 guestbook_comments表,我想得到他的 user_name来自表 userspath来自 profile_photo table 。

我的方法:首先,我加入 users 和 guestbook_comments 表以获取特定 user_id 的所有留言簿评论。然后在 while loop我加入usersprofile_photo表得到user_name和照片path分别。

我非常怀疑我的方法是否有效。你能告诉我是否有正确的方法吗?

 $sql = "SELECT u.user_id, g.owner_id, g.comment_author_id
FROM guestbook g
INNER JOIN users u ON u.user_id = g.owner_id
WHERE u.user_name = $user_name";

while($row = mysql_fetch_array( $result )) {
$author_id = $row['comment_author_id'];
$sql = "SELECT u.user_name, p.path
FROM profile_photo p
INNER JOIN users u ON u.user_id = p.user_id
WHERE u.user_id = $author_id;

//display comment text from guestbook, user_name from users, and photo from profile_photo
}

最佳答案

我是否遗漏了什么,或者您是否可以一次组合两个连接并通过对数据库的 1 次调用获取所有数据,而不是每个用户调用 2 次?

 $sql = "SELECT u.user_id, g.owner_id, g.comment_author_id, p.path
FROM guestbook g
INNER JOIN users u ON u.user_id = g.owner_id
INNER JOIN profile_photo p on u.user_id = p.user_id
WHERE u.user_name = $user_name";

关于mysql 查询 : display all entries from guestbook_comments for a specific owner_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5588555/

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