2012-10-24 30 views
6

Tôi đang tìm kiếm một cách hiệu quả để đối chiếu tất cả các bài đăng trên blog vào một danh mục các định dạng sau:PHP MYSQL Blog Archive Menu bằng Năm và Tháng

  • tháng sáu (6)
  • tháng mười một (4)
  • tháng mười hai (2)

Tháng đại diện cho mon th (rõ ràng) và giá trị bên trong dấu ngoặc đại diện cho số lượng bài đăng trong tháng đó. Sau khi được nhấp, một tìm kiếm sau đó sẽ được thực hiện cho tất cả các bài đăng trong tháng đó, trong năm đó.

tôi cần nó phải năng động, nhặt tháng mười một cách tự động khi một bài đăng được tạo ra trong tháng đó, và tiến hành vào tháng Mười Hai, vào năm 2013 vv vv ...

Tất cả tôi có là một dấu thời gian UNIX cho mỗi bài đăng. Tôi thực sự muốn tránh sử dụng các chức năng riêng biệt để thu thập các mảng comlex vô tận, v.v.

Bất kỳ trợ giúp nào được đánh giá cao.

+0

và điều này có nghĩa chính xác là gì? – digiwig

Trả lời

11

Từ câu hỏi của bạn, tôi hiểu bạn đang cố gắng tìm ra một truy vấn để nhóm một số yếu tố theo tháng và năm. Sau đây nên thực hiện thủ thuật:

SELECT 
    YEAR(dateField) AS YEAR, 
    MONTH(dateField) AS MONTH, 
    COUNT(*) AS TOTAL 
FROM table 
GROUP BY YEAR, MONTH 

Rõ ràng, "dateField" là tên của bảng ngày giờ/dấu thời gian và "bảng" là tên bảng của bạn.

Thông tin thêm về mệnh đề GROUP BY và chức năng tổng hợp (chẳng hạn như hàm COUNT (*) được sử dụng ở trên) here.

+1

Điều này hoạt động hoàn hảo. Tôi cần điều chỉnh, xem bên dưới: 'CHỌN NĂM (FROM_UNIXTIME (dateField)) AS NĂM, MONTHNAME (FROM_UNIXTIME (ngàyField)) AS MONTH, COUNT (*) AS TOTAL từ bảng GROUP BY YEAR, MONTH' – digiwig

Các vấn đề liên quan