表用户:
id firstname lastname email avatar
1 Coman Paul x@y.com ./images/a.png
表友谊:
id user1 user2
1 1 2
2 1 5
3 3 1
4 2 3
用户1
是2,3,5
用户2
是1,3
我试过了:
$querym = mysql_query("SELECT user1
FROM friendships
WHERE user2 = '1'
UNION ALL
SELECT user2
FROM friendships
WHERE user1 = '1'");
$numrows = mysql_num_rows($querym);
if($numrows!=0)
{
Echo '<div id="members"> <ul >';
while ($row = mysql_fetch_assoc($querym))
{
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$email = $row['email'];
$avatar = $row['avatar'];
Echo '
<li>
.............
它会显示我所有的朋友,但我可以;看到他们的名字...... 我也试过
$querym = mysql_query("SELECT users.*, friendships.* FROM users, friendships WHERE users.id=friendships.user1 AND( friendships.user1='1' OR friendships.user2='1')");
但我收到了错误......
警告:mysql_num_rows()期望参数1为resource,null 在第346行的C:\ xampp \ htdocs \ OnTheRunningLine \ membri.php中给出
请帮我一个核心,用于显示我的friends(users.id=1)
及其相关数据,并解释原因,因为我需要学习它。
哦,如果你能告诉我一个代码会显示在这些结果之后,那么与users.id = 1
不是朋友的其他用户就会很棒!
答案 0 :(得分:0)
将是
select u.firstname, u.lastname,u.email,u.avatar from users u
inner join friendships f on f.user2 = u.id
where f.user1 = 1
union
select u.firstname, u.lastname,u.email,u.avatar from users u
inner join friendships f on f.user1 = u.id
where f.user2 = 1
我认为你的意图。