Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql查询选择不同的月/年_Php_Mysql - Fatal编程技术网

Php Mysql查询选择不同的月/年

Php Mysql查询选择不同的月/年,php,mysql,Php,Mysql,我正在努力找到正确的mysql查询 我有一个名为“blog”的表,其中包含blog条目。每个条目都有一个名为“created”的datetime列(YYYY-MM-DD HH:MM:SS)。我想在页面的侧栏上列出条目编写的所有不同月份,以便用户可以轻松地从博客存档中查找旧条目 我有一个用户定义的函数,BlogEntry类使用它来查询数据库。根据查询,它返回一个记录数组。例如 $entries = BlogEntry::find_by_sql("SELECT * FROM blog ORDER B

我正在努力找到正确的mysql查询

我有一个名为“blog”的表,其中包含blog条目。每个条目都有一个名为“created”的datetime列(YYYY-MM-DD HH:MM:SS)。我想在页面的侧栏上列出条目编写的所有不同月份,以便用户可以轻松地从博客存档中查找旧条目

我有一个用户定义的函数,BlogEntry类使用它来查询数据库。根据查询,它返回一个记录数组。例如

$entries = BlogEntry::find_by_sql("SELECT * FROM blog ORDER BY created DESC");
我可以使用什么查询仅返回写入条目的不同月份和年份

我尝试过一些事情(运气不佳),例如:

任何关于如何返回不同月份和年份的想法或建议都将不胜感激

更新: 也许我的问题在于如何显示返回的记录。我一直在尝试以下方法

<ul>
<?php foreach($months as $month): ?>
<li><?php echo $month->created; ?></li>
<?php endforeach; ?>
</ul>

我知道这看起来不对。如何将其格式设置为列出月份YYYY?

$months=BlogEntry::find_by_sql(“选择日期”格式(已创建,“%m-%Y”)作为从博客组按创建的月份创建的月份)

你也应该这样做吗

您可以使用这个

select distinct(DATE_FORMAT(date,'%m-%Y')) from table_name 
where  order by DATE_FORMAT(date,'%Y') asc,DATE_FORMAT(transaction_date,'%m') asc;

对于MySQL,如下所示

SELECT DISTINCT(DATE_FORMAT(update_date,'%b %Y')) as archive_dt FROM tbl_articles

查询确实有效,但我的问题是如何显示记录。如果可以,请查看我的更新。。。有什么建议吗?修正了。您可以在此处更改:
DATE\u格式(已创建,“%m-%Y”)
正是我要查找的内容,而且我知道日期的长度在很长一段时间内不会更改:),但这不是更干净吗<代码>通过createdshort从posts组中选择DATE_格式(已创建,“%m-%Y”)作为createdshort
您是正确的。这篇文章已经过时了,需要更新。请看我答案的更新:现在查询中输出的格式应该是您想要的。。。
SELECT DISTINCT(DATE_FORMAT(update_date,'%b %Y')) as archive_dt FROM tbl_articles