我有一個數據庫,它包含我想按月安排的通訊條目。我的數據庫有以下字段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代碼屬於顯示邏輯。只要您選擇按日期排序的新聞簡報,您只需要一行或兩行代碼,說明「如果我已經顯示該月份的名稱,請不要再次顯示」,以便在您循環並打印時事通訊標題時使用。人們告訴你在查詢中按月排序或分組會導致你錯誤的方式。