如何将同一月份的日期显示为单个链接?

时间:2019-06-05 01:16:56

标签: php mysql

我的博客有一个存档部分。每次有帖子时,我都希望它自动以列表形式显示月份名称和年份,因此以后我可以单击以查看该月份和年份的帖子。

我只知道如何使用mysql_fetch_assoc进行显示,但这会不断重复每一行,因此我尝试了GROUP BY,但也无济于事。

<div class="sidebox widget">
    <h4>Por Datas</h4>

<?php 

$query = "SELECT * FROM posts GROUP BY post_date";
$select_all_post_by_dates = mysqli_query($connection, $query);

while($row = mysqli_fetch_assoc($select_all_post_by_dates)) {

$post_id = $row['post_id'];
$post_date = $row['post_date'];
$post_date_month_year = date_create($post_date)
?>

<ul class="circled">
<li>
<a href="#"><?php echo date_format($post_date_month_year, "F Y")  ?>
</a>
</li>
</ul><!-- /.circled -->

<?php } ?>
<a href="#" class="txt-btn">All archives</a>
</div><!-- /.widget -->

结果是月份重复一个月又一个月,例如:

2019年4月 2019年四月 2019年4月

如果我5月还有一则帖子

2019年4月 2019年四月 2019年四月 2019年5月

我需要:

2019年4月 2019年5月

1 个答案:

答案 0 :(得分:0)

按年和月按行分组

SELECT
  Year(`post_date`),
  Month(`post_date`),
  Day(`post_date`),
  Count(*) As Total_Rows
FROM posts 
GROUP BY Year(`post_date`), Month(`post_date`), DAY(`post_date`)