我正在尝试输出按存储在数据库中的日期(unix 时间戳)分组的不同项目的列表。
我需要 MySQL(查询)和 PHP(输出)方面的帮助。
MySQL表
身份证 | 主题 | 时间
1 | 测试1 | 1280278800
2 | 测试2 | 1280278800
3 | 测试3 | 1280365200
4 | 测试4 | 1280451600
5 | 测试5 | 1280451600
输出
今天
test5
test4
昨天
TEST3
7 月 28 日
test2
test1
我很感激这方面的任何帮助。谢谢!;-)
您可以使用DATE(FROM_UNIXTIME(time)). 这将输出类似2010-07-30.
以下应按日期分组。
SELECT id, subject, time, DATE(FROM_UNIXTIME(time)) AS date_column
GROUP BY date_column
Run Code Online (Sandbox Code Playgroud)
编辑:没有正确阅读您的问题。
为此,我将只运行标准SELECT和ORDER BY time DESC.
然后用PHP进行分组。
$lastDate = null;
foreach ($rows as $row) {
$date = date('Y-m-d', $row['time']);
$time = date('H:i', $row['time']);
if (is_null($lastDate) || $lastDate !== $date) {
echo "<h2>{$date}</h2>";
}
echo "{$time}<br />";
$lastDate = $date;
}
Run Code Online (Sandbox Code Playgroud)