2011-04-04 43 views
0

我正在收集所有用戶的關注的人也越來越這些人的個人資料圖片,然後在網頁上顯示它們,但如果用戶下3人,查詢將三個筋斗系統找到第一個追隨者的時間,然後嘗試顯示每個追隨者的第一個追隨者的圖像。一旦這已完成爲每個用戶,查詢將移動到第二個跟隨者,然後每個後續跟隨者相同。PHP SQL查詢問題

因此,基本上該網頁的樣子, [正確的名稱和圖像用於用戶1] [對正確的名稱不正確圖像用戶2]

[正確的名稱不正確的用戶圖像[對用戶3正確的名稱不正確圖像] 1] [正確的名稱和用戶2用戶3]

等等,這取決於有多少人用戶以下[正確的名稱不正確圖像的圖像。我覺得我可能不是這個解釋很好,如果沒有請說,我要改寫

這是我使用

$sql_friends = "SELECT `first_name`, `surname`, `username` FROM users JOIN followers ON followers.friend_id = users.user_id WHERE followers.user_id = '$user_session_id'"; 
      $result_friends = mysql_query($sql_friends); 
      while($row = mysql_fetch_array($result_friends)){ 
       $friendforename = $row['first_name']; 
       $friendsurname = $row['surname']; 
       $friendusername = $row['username']; 
       $sql_img = "SELECT `img` FROM followers JOIN user_profile ON followers.friend_id = user_profile.user_id WHERE followers.user_id = '$user_session_id'"; 
       $result_img = mysql_query($sql_img); 
       while($img_row = mysql_fetch_assoc($result_img)){ 
        $friend_image = $img_row['img']; 
        echo "<a href=\"$friendusername/\"><img src=\"../{$friendusername}/{$friend_image}\" title=\"{$friendforename} {$friendsurname}\"/></a>"; 
       } 
      } 
+0

相當旁白:假設followers.user_id是一個整數字段,你不需要把周圍的變量報價。你可以做followers.user_id = $ user_session_id – 2011-04-04 18:24:55

回答

0

第二次你打電話mysql_query()會搞亂結果的代碼的第一個。您必須爲它們指定鏈接標識符,或者首先將第一個查詢的所有結果提取到數組中,然後遍歷該數據庫以獲取圖像。

不過,我想你也可以做一個LEFT JOIN user_profile得到的圖像在同一個查詢的原始之一。

0

你不需要兩個不同的查詢來實現這一點。(我假設有可以在user_profile表每個用戶只有一條記錄)。

試試下面的代碼:

$sql_friends = "SELECT `first_name`, `surname`, `username`, `img` FROM users JOIN followers ON followers.friend_id = users.user_id LEFT JOIN user_profile ON followers.friend_id = user_profile.user_id WHERE followers.user_id = '$user_session_id'"; 
    $result_friends = mysql_query($sql_friends); 
    while($row = mysql_fetch_array($result_friends)){ 
     $friendforename = $row['first_name']; 
     $friendsurname = $row['surname']; 
     $friendusername = $row['username']; 
     $friend_image = $row['img'];   
     echo "<a href=\"$friendusername/\"><img src=\"../{$friendusername}/{$friend_image}\" title=\"{$friendforename} {$friendsurname}\"/></a>"; 
    } 
+0

這隻會帶來只有三個朋友,但沒有圖像,因爲查詢只是告訴它從用戶中選擇'first_name','surname','username',它還需要從user_profile中選擇'img'。我如何去告訴它也從這張表中選擇而不會在連接中造成錯誤? – Lit 2011-04-04 18:25:50

+0

@Lit:忘記將img添加到原始查詢中。現在更新了帖子。檢查它請。 – Chandu 2011-04-04 18:27:02

+0

這就是我正在努力,但圖像仍是空白,查看源'img'沒有被檢索 – Lit 2011-04-04 18:31:37