2012-10-24 37 views
6

मैं एक कारगर तरीका निम्न स्वरूप का एक मेनू में सभी ब्लॉग पोस्ट मुक़ाबला करने के लिए देख रहा हूँ द्वारा:PHP MySQL ब्लॉग आर्काइव मेनू वर्ष और माह

  • अगस्त (6)
  • सितंबर (4)
  • अक्टूबर (2)

महीना सोमवार का प्रतिनिधित्व वें (जाहिर है), और उस महीने में पदों की संख्या का प्रतिनिधित्व करने वाले ब्रैकेट के अंदर मूल्य। एक बार क्लिक करने के बाद, उस वर्ष में उस महीने की सभी पोस्ट के लिए एक खोज की जाएगी।

मैं इसे, गतिशील होना नवंबर उठा स्वचालित रूप से एक पोस्ट है कि महीने में बन जाता है, और दिसंबर में पर ले जाने 2013 आदि आदि में, जरूरत है ...

मेरे पास प्रत्येक के लिए एक यूनिक्स टाइमस्टैम्प है पद। मैं वास्तव में अंतहीन कॉमलेक्स सरणी आदि एकत्र करने के लिए अलग-अलग कार्यों का उपयोग करना टालना चाहूंगा

किसी भी मदद की बहुत सराहना की।

+0

और इसका मतलब वास्तव में क्या है? – digiwig

उत्तर

11

आपके प्रश्न से, मैं समझता हूं कि आप महीने और वर्ष तक कई तत्वों को समूहबद्ध करने के लिए एक प्रश्न के साथ आने का प्रयास कर रहे हैं। निम्नलिखित चाल करना चाहिए:

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

जाहिर है, "dateField" अपने दिनांक/टाइमस्टैम्प स्तंभ का नाम और "तालिका" अपनी मेज के नाम किया जा रहा जा रहा है।

ग्रुप बाय क्लॉज और समेकित कार्यों (जैसे ऊपर दिए गए COUNT (*) फ़ंक्शन पर अधिक जानकारी here पर अधिक जानकारी।

+1

यह पूरी तरह से काम करता है। मैं एक समायोजन बनाने के लिए आवश्यक है, नीचे देखें: '(FROM_UNIXTIME (dateField)) वर्ष के रूप में, वार्षिक आधार पर MONTHNAME (FROM_UNIXTIME (dateField)) माह, COUNT (*) तालिका समूह के आपकी कुल के रूप में के रूप में चयन वर्ष, MONTH' – digiwig