2014-12-06 4 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

+0

О, ладно, извините. Добавлен код. – user3434770

+0

Если вы хотите, чтобы данные были отсортированы определенным образом, я бы делал это в БД, а не в вашем коде приложения. Что-то мешает вам это делать? –

ответ

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

Смежные вопросы