Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Архив заметок
 
 автор: uch   (15.05.2011 в 20:37)   письмо автору
30.2 Кб
 
 

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

Логика вывода архива заметок примерно такая:
1. Если в GET ничего нет, то показать текущий год и перечислить месяцы, для которых существуют записи.
2. Если задан параметр GET, то вывести выбранный год и также перечислить месяцы, для которых существуют записи.

Нужен небольшой толчок, чтобы от чего-то оттолкнуться.

  Ответить  
 
 автор: cheops   (15.05.2011 в 20:43)   письмо автору
 
   для: uch   (15.05.2011 в 20:37)
 

А архив где хранится? Может просто начать с задачи вывода списка годов, которые охватывают архив?

  Ответить  
 
 автор: uch   (15.05.2011 в 20:45)   письмо автору
 
   для: cheops   (15.05.2011 в 20:43)
 

Забыл сказать: заметки просто находятся в базе данных. Получается надо вытянуть год, за который есть последняя заметка, а потом месяцы.
Дальше, если хватит знаний, допишу самостоятельно.

  Ответить  
 
 автор: cheops   (15.05.2011 в 21:16)   письмо автору
 
   для: uch   (15.05.2011 в 20:45)
 

Года можно вытащить при помощи следующего запроса
SELECT YEAR(pudate) AS `year`
FROM tbl
GROUP BY `year`
Месяцы вероятно удобнее выводить все (например, из массива), независимо от того есть записи или нет, чтобы посетителям было удобнее ориентироваться.

  Ответить  
 
 автор: uch   (15.05.2011 в 22:26)   письмо автору
 
   для: cheops   (15.05.2011 в 21:16)
 

Скажите, а что означает YEAR(pudate)?

  Ответить  
 
 автор: cheops   (15.05.2011 в 22:51)   письмо автору
 
   для: uch   (15.05.2011 в 22:26)
 

YEAR() - это MySQL-фнукция которая вырезает год из календарного значения базы данных, pudate - имя столбца календарного типа.

  Ответить  
 
 автор: uch   (17.05.2011 в 16:40)   письмо автору
 
   для: cheops   (15.05.2011 в 21:16)
 

Я написал вот такой запрос:
SELECT DISTINCT YEAR(date) AS year FROM article ORDER BY year DESC;

Не будет ли он сильно загружать сервер БД, если записей станет около 1000 или 3000?

  Ответить  
 
 автор: cheops   (17.05.2011 в 20:40)   письмо автору
 
   для: uch   (17.05.2011 в 16:40)
 

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования