【发布时间】:2010-11-06 19:59:40
【问题描述】:
所以!基本上我有一个包含大量博客文章的数据库,这些都是按 UNIX 时间戳排序的,我需要一种方法让这段代码在适当的时候吐出标题,这样它就会输出如下内容:
2008
11 月
标题 1 - 日期在这里
标题 2 - 日期在这里
十二月
标题 3 - 日期在这里
2009
一月
标题 4 - 日期在这里
等等
到目前为止,这是我的代码,它在比较年份之前一直有效,我仍然需要想出一个好方法来让它以合理的方式比较月份,这样一月确实在十二月之后,并且不是什么可笑的第 13 个月。
[代码]
<?php
if ($db = new PDO('sqlite:./db/blog.sqlite3')) {
$stmt = $db->prepare("SELECT * FROM news ORDER BY date DESC");
if ($stmt->execute()) {
while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
$current_year = date("Y", $row[1]);
$current_month = date("m", $row[1]);
if ($current_year > $last_year) {
echo "<h1>" . $current_year . "</h1>";
$last_year = $current_year;
}
echo "<tr>";
echo "<td align='left'><a href='view_post.php?post_id=". $row[1] ."'>" . $row['0'] . " - " . date("Y-m-d, H:i:s", $row[1]) . "</a></td>";
echo "</tr>";
}
}
} else {
die($sqliteerror);
}
?>
[/代码]
【问题讨论】: