Eri*_*rik 2 php mysql foreach date
我想添加一个新行,以便在foreach循环中对日期进行分组.
例:
2015-11-05
2015-11-05
2015-11-07
2015-11-10
2015-11-10
2015-11-10
... and so on
Run Code Online (Sandbox Code Playgroud)
由于我不知道如何实现这一点,因为在谷歌搜索几天后我没有找到任何内容,我只有标准代码foreach来循环数据库中的数据.
SELECT * FROM table ORDER BY datetime_published
foreach($rows AS $row) {
echo $row['datetime_published'].'<br>';
}
Run Code Online (Sandbox Code Playgroud)
上面的代码打印日期如下:
2015-11-05
2015-11-05
2015-11-07
2015-11-10
2015-11-10
2015-11-10
... and so on
Run Code Online (Sandbox Code Playgroud)
如示例所示,我如何实现这一目标?
数据库结构
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_visitor` int(11) NOT NULL,
`id_place` int(11) NOT NULL,
`id_post` int(11) NOT NULL,
`id_category` int(11) NOT NULL,
`data_cover` varchar(50) COLLATE utf32_swedish_ci NOT NULL,
`data_subject` varchar(45) COLLATE utf32_swedish_ci NOT NULL,
`data_content` text COLLATE utf32_swedish_ci NOT NULL,
`datetime_published` datetime NOT NULL,
`datetime_edited` datetime NOT NULL,
`datetime_saved` datetime NOT NULL
Run Code Online (Sandbox Code Playgroud)
一种方法是保存以前的值并将其与当前值进行比较:
$prev = NULL;
foreach($rows AS $row) {
$curr = $row['datetime_published'];
echo "$curr<br>";
if ($curr != $prev) {
echo '<br>';
$prev = $curr;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |