Как создать список архивов в php?

Я создаю блог своих компаний и хочу узнать, как создать страницу архива, где читатель может щелкнуть месяц / год и отобразить все сообщения в блоге за этот период времени.

Я вижу это очень часто в блогах в эти дни и хотел бы знать, как я могу его создать.

Он будет выглядеть примерно так:

  • Июль 2012 г.
  • Июнь 2012 г.
  • Март 2012 г.

Очевидно, я бы хотел, чтобы список был создан динамически, ссылаясь на поле времени в моей таблице блога, но с чего начать?

Есть ли какая-либо документация о том, как ее реализовать?

Я создаю свой собственный блог с нуля.

Если вы используете базу данных, вы можете просто использовать временные метки для группировки статей на основе даты.

Если вы не используете базу данных, вы можете использовать файловую систему и поместить каждую статью в соответствующую структуру:

/articles/2011/July/article_name_here.html

Учитывая, что вы не указали никакой конкретной структуры / CMS, я представлю общую идею, которую я бы взял:

Получите список месяцев для рендеринга

SELECT Month(`date`), Year(`date`) FROM articles GROUP BY Month(`date`), Year(`date`) 

Отобразить список статей за определенный промежуток времени

 SELECT * FROM articles WHERE Date(`date`) = foo, Year(`date`) = bar 

Остальное – это просто рендеринг, слишком большой, основанный на вашей текущей реализации, но это должно дать вам возможность начать.

Есть несколько способов приблизиться к этому. Самый простой способ, о котором я могу думать, это создать ссылку для каждого месяца, которая приведет вас к странице html со всеми статьями этого месяца. (Требуется сделать это вручную каждый месяц) ,

Другой способ сделать это с MySQL и сделать весь процесс динамическим и автоматическим. Каждый раз, когда ваше сообщение отправляется, ссылка на ссылку будет сохранена в базе данных в течение каждого месяца.

Затем вы можете откликнуться на месяцы из своей базы данных и дать им ссылку на файл php или на то, что ваш язык должен вывести из сообщения только с этого месяца. Вам также понадобится передать переменные. Вы будете похожи на это

 index.php?month=september2012 

У меня есть эта система на сайте. Там также некоторые способы … как стиль CMS, сохраняющий ваш файл в текстовом файле .. но я не пробовал, поэтому не могу вас поддержать.

Надеюсь, вы дали хотя бы некоторое представление о том, как это можно сделать.