我有一个数据库,它包含我想按月安排的通讯条目。我的数据库有以下字段ID,标题,描述和日期。日期已满,例如2007-02-01 15:26:02。我想是根据对应的月如我想有这样的事情根据月份对数据库结果对象(数组)进行排序
2010年11月
通讯
标题通讯的
...的标题来安排所有的通讯直到十一月的所有标题2010和通讯打印出来2010通讯
的
标题
......截至2010年11月通讯的所有标题都印出来
等等。
请有人可以帮助我实现这一目标的代码,或给我一个关于如何去做的想法。
我有一个数据库,它包含我想按月安排的通讯条目。我的数据库有以下字段ID,标题,描述和日期。日期已满,例如2007-02-01 15:26:02。我想是根据对应的月如我想有这样的事情根据月份对数据库结果对象(数组)进行排序
2010年11月
通讯
标题通讯的
...的标题来安排所有的通讯直到十一月的所有标题2010和通讯打印出来2010通讯
的
标题
......截至2010年11月通讯的所有标题都印出来
等等。
请有人可以帮助我实现这一目标的代码,或给我一个关于如何去做的想法。
SELECT * FROM db ORDER BY MONTH(date) AS 'd' desc GROUP BY MONTH(date)
这是你正在寻找的查询,其余是非常基本的PHP/SQL,所以你应该能够查找一个指南或东西,并将其应用。
尝试此查询:
SELECT CONCAT(MONTHNAME(date), ' ', title) as title FROM newsletter ORDER BY date desc;
,然后从结果
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
也就是说,在PHP代码属于显示逻辑。只要您选择按日期排序的新闻简报,您只需要一行或两行代码,说明“如果我已经显示该月份的名称,请不要再次显示”,以便在您循环并打印时事通讯标题时使用。人们告诉你在查询中按月排序或分组会导致你错误的方式。