需要这个MysqlPHP日期的最佳方法


Need The Best Approach to this Mysql PHP Date

我正在努力找出最好的方法。

在名为"news"的mysql表中,我有一个Date字段。该字段以常用格式(YYYY-MM-DD)存储日期。

我需要的是该表中的字段,从mysql新闻表中的这个开始:

2007-04-12
2007-02-23
2006-11-16

在html中对此:

2007-
April
February
2006 -
November

我想我会查询所有的年份,然后查询每年,查询所有的月份。

任何指针或想法都值得赞赏

<?php
$sql="SELECT DATE_FORMAT(Date, '%Y') AS `Year`, DATE_FORMAT(Date, '%M') AS `Month` FROM `news` GROUP BY `Year`,`Month` ORDER BY `Date` DESC";
$res=mysql_query($sql);
$p_year="";
while($out=mysql_fetch_assoc($res)){
    if($out['Year']!=$p_year){
        $p_year=$out['Year'];echo "<br>".$p_year;
    }
    echo "<br> - ".$out['Month'];
 }
 ?>

查询一次,并在处理行时划分为子数组(通常以while ($row = $pdo->fetch(PDO::FETCH_ASSOC))的形式)。

注意,我假设您使用PDO,因为这是应该使用的。