そう!基本的に、私はたくさんのブログ投稿を含むデータベースを持っています。これらはすべて UNIX タイムスタンプでソートされています。必要なのは、このコードが適切なときにヘッダーを吐き出す方法で、次のような出力が得られます。
2008年
11月
タイトル 1 - ここに日付が入ります
タイトル 2 - ここに日付が入ります
12月
タイトル 3 - ここに日付が入ります
2009年
1月
タイトル 4 - ここに日付が入ります
など
これまでのところ私のコードは次のとおりです。これは年の比較まで機能しますが、1月が実際に12月の後に来るように、賢明な方法で月を比較する良い方法を考え出す必要があります。 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);
}
?>
[/コード]