Как отсортировать элементы в цикле while?

0

Я собираюсь отображать комментарии на странице, все работает нормально, но я хочу сначала просмотреть комментарии пользователя. Итак, как мне сначала отображать комментарии пользователя от user_id? Я использую цикл 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
    Приведите пример кода, чтобы мы могли помочь вам лучше.
  • 0
    О, хорошо, извини. Добавил код.
Показать ещё 1 комментарий
Теги:
loops
comments
while-loop

1 ответ

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
    Большое спасибо! Попробую позже :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню