我有這3個表選擇信息:PHP查詢到從關於用戶3代表和他的夥伴們
用戶表(PK USER_ID)
Fields: user_id, user_first_name, user_last_name, username, user_email...etc
好朋友表(FK user1_id,從PK USER_ID user2_id在用戶表)
pal_id user1_id user2_id status timestamp
7 98 97 0 2011-02-02 21:44:28
8 92 98 1 2011-02-04 08:06:00
9 95 92 0 2011-02-04 08:05:54
10 97 92 1 2011-02-04 08:05:28
11 97 95 1 2011-02-04 08:06:33
9 92 93 1 2011-02-04 08:05:54
10 79 92 1 2011-02-04 08:05:28
11 97 95 1 2011-02-04 08:06:33
圖象表(從PK USER_ID FK USER_ID在用戶表)
picture_id picture_url picture_thumb_url user_id avatar timestamp
73 ../User_Images/66983.jpg ../User_Images/Thumbs/66983.jpg 92 0 2011-02-03 21:52:02
74 ../User_Images/56012.jpg ../User_Images/Thumbs/56012.jpg 93 1 2011-01-25 12:09:58
75 ../User_Images/58206.jpg ../User_Images/Thumbs/58206.jpg 95 0 2011-01-22 22:12:35
76 ../User_Images/85428.jpg ../User_Images/Thumbs/85428.jpg 98 0 2011-01-23 23:50:16
77 ../User_Images/42325.jpg ../User_Images/Thumbs/42325.jpg 98 0 2011-01-24 00:11:15
78 ../User_Images/73154.jpg ../User_Images/Thumbs/73154.jpg 98 1 2011-01-24 00:11:15
81 ../User_Images/92865.jpg ../User_Images/Thumbs/92865.jpg 92 0 2011-01-31 18:24:34
82 ../User_Images/75611.jpg ../User_Images/Thumbs/75611.jpg 92 0 2011-01-26 18:08:52
83 ../User_Images/74829.jpg ../User_Images/Thumbs/74829.jpg 95 0 2011-02-01 20:48:48
84 ../User_Images/5987.jpg ../User_Images/Thumbs/5987.jpg 92 1 2011-02-03 21:52:02
我想提出一個社交網站,我想有一個PHP生成的表中顯示的用戶的好朋友。我想在這些縮略圖下方顯示朋友縮略圖和其他信息,這樣如果您單擊縮略圖,它會將您帶到該用戶的個人資料。
從上面,用戶92與用戶98的好朋友,因爲他們已經證實友誼(示出爲狀態=「1」)
用戶92具有4個好朋友...他要求2個其它2個用戶發送他請求。
在夥伴是用戶98,97,93和79
看看這樣:(解釋好朋友正如何加入)
'A' 加 'B'
User1將是 'A' 和用戶2將在PAL表 'B'
,如果 'B' 添加 'A'
USER1將是 'B' 和user2將 'A' 上PAL表
個用戶可以有圖片,存儲在上述圖像表。用戶從他的照片中選擇他的頭像...這是通過設置他的一個picture.avatar ='1'來完成的。
我們的用戶92已經選擇了自己上傳頭像照片。所以有98和93用戶。其他兩個朋友有默認的頭像圖片。 (所有圖像都存儲在文件夾用戶圖像中)。
我的問題。
到目前爲止,e.g,在用戶92的個人資料,我只能檢索有頭像用戶朋友的信息。我如何更改我的代碼,以便能夠獲得具有頭像和那些不會的朋友?
我的PHP代碼:
<?php
//get pal info
$query_pal_info1 = "SELECT pals.user2_id AS pals_id1, users.user_first_name AS pals_first_name, users.user_last_name AS pals_last_name, picture.picture_thumb_url AS
picture, picture.avatar AS avatar FROM pals INNER JOIN (users LEFT JOIN picture ON picture.user_id = users.user_id) ON users.user_id = pals.user2_id WHERE
pals.user1_id = '$user_id' AND picture.avatar = 1 GROUP BY pals_id1";
$pal_info1 = mysql_query($query_pal_info1 , $connections) or die(mysql_error());
$query_pal_info2 = "SELECT pals.user1_id AS pals_id1, users.user_first_name AS pals_first_name, users.user_last_name AS pals_last_name, picture.picture_thumb_url AS
picture, picture.avatar AS avatar FROM pals INNER JOIN (users LEFT JOIN picture ON picture.user_id = users.user_id) ON users.user_id = pals.user1_id WHERE
pals.user2_id = '$user_id' AND picture.avatar = 1 GROUP BY pals_id1";
$pal_info2 = mysql_query($query_pal_info2 , $connections) or die(mysql_error());
//echo table with pal information
echo "\n<table>";
$j = 5;
while (($row_pal_info1 = mysql_fetch_assoc($pal_info1)) && ($row_pal_info2 = mysql_fetch_assoc($pal_info2)))
{
if($j==5) echo "\n\t<tr>";
$thumbnail_user = $row_pal_info1['picture'] != '' ? $row_pal_info1['picture'] : '../Style/Images/default_avatar.png';
echo "<td width='100' height='100' align='center' valign='middle'><a href = 'user_view.php?user_id2={$row_pal_info1['pals_id1']}'>
<img src='/NNL/User_Images/$thumbnail_user' border='0'/></a></td>\n";
$thumbnail_user = $row_pal_info2['picture'] != '' ? $row_pal_info2['picture'] : '../Style/Images/default_avatar.png';
echo "<td width='100' height='100' align='center' valign='middle'><a href = 'user_view.php?user_id2={$row_pal_info2['pals_id1']}'>
<img src='/NNL/User_Images/$thumbnail_user' border='0'/></a></td>\n";
$j--;
if($j==0) {
echo "\n\t</tr>\n\t<tr>";
$j = 5;
}
}
if($j!=5) echo "\n\t\t<td colspan=\"$j\"></td>\n\t</tr>";
echo "\n</table>";
?>
在我的查詢:$ query_pal_info1和$ query_pal_info2,我有... AND picture.avatar = 1,我明白,這只是帶來了我的好朋友有化身。我如何改變這種說法,以便能夠讓所有的好友,有或沒有圖像。任何幫助將不勝感激。
可能重複的[PHP如何在一個select語句中查詢3個表所需的信息](http://stackoverflow.com/questions/4894861/php-how-to-query-information-needed-from-3-表一體式選擇語句) – 2011-02-07 17:27:01