如何跳过重复和排序

时间:2015-02-22 14:06:23

标签: php mysql

如何跳过数据库中的重复项并排序我的最新日期?并显示一个foreach唯一的id做这个..

我正在制作一个简单的聊天系统,我尝试做的是显示已发送消息的每个用户并跳过重复的user_id。

此外,我还试图跳过用户ID#1,因为他是管理员。

<?php 

    // Read every user in the database
    $conn = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME . ';charset=utf8', DB_USER, DB_PASS);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sth = $conn->prepare("SELECT DISTINCT user_id FROM live_chat ORDER BY message_date ASC;");
    $sth->execute();
?>
<table cellspacing="0" cellpadding="0" border="0" width="330" class="left">
    <tr>
        <td width="330" valign="top">
            <div class="live_chat_users">
                <?php
                    foreach($sth as $row){
                        if($row['user_id'] == 1){

                        }else{
                            echo $row['user_id']; 
                        }
                    }
                ?>
            </div>
        </td>
    </tr>
</table>

SQLfiddle:http://sqlfiddle.com/#!2/aadcaf

1 个答案:

答案 0 :(得分:1)

尝试类似:

SELECT user_id 
FROM live_chat  
WHERE user_id != 1
GROUP BY user_id
ORDER BY message_date ASC