如何跳过数据库中的重复项并对最新日期进行排序?并显示 foreach 唯一 id 执行此操作..
我正在制作一个简单的聊天系统,我想做的是显示每个已发送消息的用户并跳过重复的 user_ids。
此外,我还尝试跳过用户 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
最佳答案
尝试如下:
SELECT user_id
FROM live_chat
WHERE user_id != 1
GROUP BY user_id
ORDER BY message_date ASC
关于php - 如何跳过重复项并排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28658713/