2016-04-13 124 views
-1

我怎樣才能得到用戶的帖子我跟着?我有這個代碼查詢PHP中使用的foreach

<?php 
    $query=$con->query("SELECT Following FROM followers WHERE Follower='$Name'"); 

    while ($row=$query->fetch_row()){ 
     $Follower=$row[0]; 
     $query2=$con->query("SELECT Image,`Text` FROM uploads WHERE Username='$Follower'"); 
    } 

    while ($row2=$query2->fetch_row()) { 
     $Image=$row2[0]; 
     $Text=$row2[1]; 
     $Likes=$row2[2]; 
     $Comments=$row2[3]; 
     $Reposts=$row2[4]; 
?> 
     <div class="PF"> 
      <img src="../users/<?php echo $roww[0] ?>" class="FollowerPic"> 
      <span><?php echo $Follower?></span> 
     </div> 
<?php 
    } 
?> 

但它不工作只給了我最後一個用戶的帖子

+0

適當的縮進有助於查看錯誤的可能位置。 –

回答

2

試試這個。把第二個「while」放入第一個。

<?php 
      $query=$con->query("SELECT Following FROM followers WHERE Follower='$Name'"); 

        while ($row=$query->fetch_row()){ 
         $Follower=$row[0]; 
         $query2=$con->query("SELECT Image,`Text` FROM uploads WHERE Username='$Follower'"); 


         while ($row2=$query2->fetch_row()) { 
          $Image=$row2[0]; 
          $Text=$row2[1]; 
          $Likes=$row2[2]; 
          $Comments=$row2[3]; 
          $Reposts=$row2[4]; 


          ?> 
          <div class="PF"> 
           <img src="../users/<?php echo $roww[0] ?>" class="FollowerPic"> 
           <span><?php echo $Follower?></span> 
          </div> 

          <?php 
         } 
        } 
?> 

但無論如何,更好地使用它在1個查詢(LEFT JOIN)

LEFT JOIN例子;

<?php 

      $sql = "SELECT * FROM followers AS f LEFT JOIN uploads AS u ON f.Following = u.Username WHERE f.Follower='$Name' ORDER BY u.date LIMIT 0,250"; 
      $query=$con->query($sql); 
      echo '<pre>'; 
      while ($row=$query->fetch_row()){ 
       print_r($row); 
      } 
      echo '</pre>'; 
?> 
+0

但是,我怎麼能按'日期'命令所有這些帖子? –

+0

'ORDER BY date':http://www.w3schools.com/sql/sql_orderby.asp –

+0

你的代碼得到第一個追隨者的追隨者,然後得到他所有的posts.I嘗試代碼它只返回第一個用戶的所有職位 –

0
<?php 
     $query=$con->query("SELECT Following FROM followers WHERE Follower='$Name'"); 

       while ($row=$query->fetch_row()){ 
        $Follower=$row[0]; 
        $query2=$con->query("SELECT Image,`Text` FROM uploads WHERE Username='$Follower'"); 

       while ($row2=$query2->fetch_row()) { 
       $Image=$row2[0]; 
       $Text=$row2[1]; 
       $Likes=$row2[2]; 
       $Comments=$row2[3]; 
       $Reposts=$row2[4]; 


    ?> 
    <div class="PF"> 
        <img src="../users/<?php echo $Image ?>" class="FollowerPic"> 
        <span><?php echo $Follower?></span> 
       </div> 

    <?php 
        } 
    } 
    ?> 

試試這個

+3

爲什麼OP要「試試這個」?一個好的答案***將總是解釋所做的事情以及爲什麼這樣做,不僅是爲了OP,還是爲了將來訪問SO。 –

1

試試這個,第二個循環應該放在第一個循環中。

<?php 
    $query=$con->query("SELECT Following FROM followers WHERE Follower='$Name'"); 

    while ($row=$query->fetch_row()){ 
     $Follower=$row[0]; 
     $query2=$con->query("SELECT Image,`Text` FROM uploads WHERE Username='$Follower'"); 


     while ($row2=$query2->fetch_row()) { 
      $Image=$row2[0]; 
      $Text=$row2[1]; 
      $Likes=$row2[2]; 
      $Comments=$row2[3]; 
      $Reposts=$row2[4]; 


      ?> 
      <div class="PF"> 
       <img src="../users/<?php echo $roww[0] ?>" class="FollowerPic"> 
       <span><?php echo $Follower?></span> 
      </div> 

      <?php 
     } 
    } 
?> 
+0

$ roww來自另一個代碼 –

+0

我對你的代碼誤解深表歉意。 –

+0

我想這是我的錯 –