2014-12-06 145 views
0

我即將在頁面上顯示評論,一切正常,但我想先顯示用戶的評論。那麼,如何首先顯示來自user_id的用戶評論?我使用while循環來顯示評論。如何在while循環中對元素進行排序?

如果有人能幫助我,我將不勝感激。 :)

   <?php 
        $sql = "SELECT * FROM `comments` WHERE `post_id`=$pid AND `active`=1 ORDER BY ups-downs DESC"; 
        $result = $mysqli->query($sql); 
        $count = $result->num_rows; 

        if($count == 1){ 
         $counttext = "1 Comment"; 
        }else{ 
         $counttext = $count ." Comments"; 
        } 
       ?> 
       <div class="media-area media-area-small"> 
        <h3 class="text-center"><?php echo $counttext; ?></h3> 
       <?php 
        while($row = $result->fetch_assoc()){ 
         $uid = (int)$row["user_id"]; 
         $user = get_user_info($mysqli,$uid); 
       ?> 
        <div class="media"> 
         <a class="pull-left" href="#"> 
          <div class="avatar"> 
           <img class="media-object" src="<?php echo $user["picture"]; ?>" alt="..."> 
          </div> 
         </a> 
         <div class="media-body"> 
          <table width="100%"> 
           <tr valign="middle"> 
            <td align="left"><h4 class="media-heading text-left"><?php echo fb_clear_name($mysqli, $user["id"]); ?></h4></td> 
            <td align="right"><h6 class="pull-right text-muted"><?php echo $row["ups"] - $row["downs"]; ?> bits</h6></td> 
           </tr> 
          </table> 
          <p><?php echo htmlentities($row["content"]); ?></p> 
          <div class="media-footer"> 
           <a href="#" class="btn btn-info btn-simple "> <i class="fa fa-reply"></i> Reply</a> 
           <a href="#" class="pull-right text-muted"> 
            <?php echo $row["timestamp"]; ?> 
           </a> 
          </div>  
         </div> 
        </div> 
       <?php 
        } 
       ?> 

問候

+0

給出一些示例代碼,以便我們可以更好地幫助您。 – melanholly 2014-12-06 10:21:49

+0

哦,好的,我很抱歉。添加了代碼。 – user3434770 2014-12-06 10:30:55

+0

如果您希望以特定方式對數據進行排序,我會在數據庫上執行此操作,而不是在您的應用程序代碼中進行。有什麼阻止你這樣做嗎? – 2014-12-06 19:55:20

回答

0

您可以預先過濾的數據。例如,使用

$user_comments=array(); 
$other_comments=array(); 

while($row = mysql_fetch_assoc($result)) 
{ 
    if($row['user']==$current_user) 
    { 
     $user_comments[]=$row; 
    } 
    else 
    { 
     $other_comments[]=$row; 
    } 
} 
$comments=array_merge($user_comments,$other_comments); 

然後您可以按照自己想要的方式顯示信息。

+0

非常感謝!我會稍後再嘗試:) – user3434770 2014-12-06 10:32:19