Календарь для архива новостей.

KPD

Новичок
Календарь для архива новостей.

Есть у меня на сайте архив новостей.
Хочу сделать туда календарь, типа как на www.autonews.ru в архиве новостей.

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

Вот думаю как это сделать.

самое простое это просто при выводе каждого дня на календаре делать запрос к базе - проверять есть ли новости за этот день.
Но это получиться 31 - 33 запроса к базе, что я думаю не очень хорошо....
 

Нечто

Психолог РНРClub
Выбери даты всех материалов за месяц в удобном формате и уже потом смотри, в какие дни они были размещены.
 

Кром

Новичок
>Но это получиться 31 - 33 запроса к базе

Ну ладно 31 запрос. Я даже пойму почему 32. Но 33 почему?
 

KPD

Новичок
Originally posted by Кром
>Но это получиться 31 - 33 запроса к базе

Ну ладно 31 запрос. Я даже пойму почему 32. Но 33 почему?
на календаре будут ещё 2 ссылки на след месяц и на предыдущий...
и зачем давать ссылку на месяц где нет новостей???
 

SelenIT

IT-лунатик :)
Мое видение проблемы:

1) Одним запросом выбрать дни, в которых есть новости, в массив.
2) Определить свойства первого и последнего дня месяца с помощью PHP-шных ф-ций работы с датой.
3) Обычным циклом в PHP проходить по всем дням месяца, проверяя наличие этого дня в массиве, взятом из базы.
4) В завимости от рез-та п.3 выводить либо ссылку, либо просто клетку.

Еще 2 запроса - чтобы определить ближайший "прошлый" и ближайший "будущий" месяцы с новостями соответственно.
 

SelenIT

IT-лунатик :)
Кром

главным образом день недели, конечно

может быть, еще понадобится поправка на летнее/зимнее время (для корректного перевода секунд в дни) - это уже зависит от деталей реализации

при аккуратной реализации этот пункт, пожалуй, и впрямь не нужен)
 
Сверху