根据月份排序数据库结果对象(数组)

时间:2010-11-15 13:23:50

标签: php mysql

我有一个数据库,其中包含我想根据月份安排的简报条目。我的数据库具有以下字段ID,标题,描述和日期。日期是完整日期,例如2007-02-01 15:26:02我想要的是根据相应的月份安排所有的通讯,例如我想要有这样的东西

2010年11月
通讯标题
时事通讯的标题
......直到2010年11月的通讯的所有标题都打印出来

2010年12月
通讯标题
...直到2010年11月的新闻通讯的所有标题都打印出来

等等。

请有人帮我提供能够达到这个目标的代码,或者让我知道如何去做。

4 个答案:

答案 0 :(得分:2)

SELECT * FROM db ORDER BY MONTH(date) AS 'd' desc GROUP BY MONTH(date)

这是您正在寻找的查询,其余的是非常基本的php / sql,因此您应该能够查找指南或其他内容并应用它。

答案 1 :(得分:0)

尝试此查询:

SELECT CONCAT(MONTHNAME(date), ' ', title) as title FROM newsletter ORDER BY date desc;

然后从结果中获取“title”字段

答案 2 :(得分:0)

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

此功能可以帮助您按照自己的意愿行事。您可以使用它来获取特定年份的新闻稿,然后按月订购。

SELECT * FROM sell_news WHERE DATE_FORMAT(news_date,'%Y')='2009'ORDER BY DATE_FORMAT(news_date,'%m')ASC

答案 3 :(得分:0)

这是属于PHP代码的显示逻辑。只要您选择按日期排序的新闻简报,您只需要一行或两行代码,当您循环并打印新闻稿标题时,“我是否已经显示该月份名称,不再显示”。告诉你按查询中的月份排序或分组的人会以错误的方式引导你。