我试图选择多个表,并希望将它们显示为属于一起。
我有3张桌子;用户,个人资料和评论
表用户具有以下行; id,名称,密码
轮廓; id,userid,bio,website
评论; id,userid,comment,date。
users表的id与profile和comments中的userid相同。我想显示所有结果,但是有序,所以该用户的评论和个人资料信息会以该用户显示,例如;
Username: Mister Noname
Bio: 25 years old
Website: http://google.com
Comments: Bla bla bla!!
Username: Jay Wit
Bio: 99 years old
Website: http://stackoverflow.com
Comments: Best website ever!
我尝试使用JOIN,但似乎无法让它正常工作,有人可以帮助我吗?
提前谢谢。
答案 0 :(得分:1)
尝试这样的事情:
select *
from users
inner join profile on profile.userid = users.id
inner join comments on comments.userid = users.id
where users.id = $id
order by users.id
这将为您提供每行(= user)所需的所有信息。如果您需要一些帮助来从PHP访问这些数据,我也可以提供帮助,请告诉我。
订单因用户ID而下降,但一切皆有可能,只需询问。
希望这有帮助。
请看mysql_fetch_assoc,特别是这部分:
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
$result
是mysql_query
返回的结果。
答案 1 :(得分:1)
尝试
SELECT u.name,p.bio,p.website,c.comment
FROM users u
JOIN profile p ON p.userid=u.id
JOIN comment c ON c.userid=u.id
ORDER BY u.id