如何跳过数据库中的重复项并排序我的最新日期?并显示一个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
答案 0 :(得分:1)
尝试类似:
SELECT user_id
FROM live_chat
WHERE user_id != 1
GROUP BY user_id
ORDER BY message_date ASC