Gj 对于否决我的问题的人,你真的很有帮助。我想即使在这类网站上也存在仇恨者,这很可悲。无论如何,关于它们已经足够了,这是我今天通过学习新的 MySQL 函数想出的东西,我以前不知道它存在 :) 你可以使用 MySQLDATE_FORMAT(date_column,'%format')
来选择所需的月、年、日或任何其他“部分” " 的日期,即使日期是在 unix 时间戳中。这是我经过一番摆弄后想出的一个简单代码。
$query = "SELECT DISTINCT DATE_FORMAT(creation_date,'%M') as creation_month, DATE_FORMAT(creation_date,'%Y') as creation_year FROM posts";
$result = $connection->query($query);
if($result) {
while($row = $result->fetch_assoc()) {
$archiveArray[] = $row;
}
print_r($archiveArray);
echo '<h3>Our Archives by month</h3>';
echo '<ul>';?>
<?php foreach($archiveArray as $archiveRecord) : ?>
<li>
<a href=""><?php echo $archiveRecord['creation_month'] . ' ' . $archiveRecord['creation_year']; ?></a>
</li>
<?php endforeach;
echo '</ul>';
}
这段代码的作用是从数据库中“读取”“creation_date”列中的时间戳,将其放入由 %M 和 %Y 指定的所需“格式”(类似于 PHP date() 函数格式)并分配动态虚构列名,称为 craetion_month 和 creation_year。请注意 DISTINCT 选择,因为我不希望月份为该特定月份的每个帖子重复自己。之后,我们只是将它们列为无序列表中的锚点。这是主要问题,其余的很容易做到:)