Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оформление архива новостей в виде календаря, Вывести для архива новостей навигацию в 
:(
    Опции темы
-=Ustas=-
  Дата 1.5.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Привет всем!
Задача такая. Есть таблица с новостями, и таблица с датой этих новостей. Дата в формате "yyyyyy-mm-dd". Как сделать для навигации по архиву типа календарик, при этом чтобы в календаре была выделена ячейка с той датой, на которую была опубликована новость, и при этом была ссылкой на эту новость? И еще с помесячной промоткой. Немного свой замысел набросал на листик, типа такого:
--Resize_Images_Alt_Text--
Каким образом реализовать это все?
Заранее сеньки.

Это сообщение отредактировал(а) Ustas_007 - 1.5.2005, 15:15


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Axxent
Дата 1.5.2005, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 25.3.2004
Где: Новосибирск

Репутация: 3
Всего: 5



Охх... Чтобы выделять это все ссылками, придется пробегать циклом по дням и если такой день есть в базе, то делать ссылку (только не делайте запрос по каждому разу, лучше mysql_fetch_array и in_array, от греха подальше). Помесячную прокрутку реализовать проще чем кажется - выделяем только те новости, где месяц равен тому-то. Вообще день, месяц и год в этом случае я разбил бы на разные ячейки в БД. Проще работать чем с типом date. Правда с определением дня недели будет гемор - придется приводить к строке и вычислять день. Хотя я бы привел к timestamp и с помощью date определил день =)

Помог? smile
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 1.5.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Примерчик мона?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Axxent
Дата 3.5.2005, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 25.3.2004
Где: Новосибирск

Репутация: 3
Всего: 5



Ща попробую наваять... навскидку, так что не суди строго =)

Допустим есть таблица структуры
Код

CREATE TABLE `news_in_calendar` (
  `newsid` int(11) NOT NULL auto_increment,
  `content` text NOT NULL,
  `day` int(11) NOT NULL,
  `month` int(11) NOT NULL,
  `year` int(11) NOT NULL,
) TYPE=MyISAM AUTO_INCREMENT=1 ;

Тогда изобразим нечто вроде того... (для одного месяца)
Код

// сначала делаем запрос по новостям
$res=mysql_query("select day from news_in_calendar where month='$month' and year='$year'"); //$month и $year задать изначально.
while(list($d)=mysql_fetch_row($res))  $days[]=$d;
// Здесь я не уверен, что так лучше всего, но больше ничего в голову не лезет =)
$day=1;
do {
if(in_array($d, $days)) echo "<span class="yacheika"><a href=\"http://link_to_news\">".$day++."</a></span>";
else echo "<span class="yacheika">".$day++."</span>";
} while($day<$days_in_month);
// $days_in_month - это количество дней в данном месяце


Вотъ. Это конечно только пример, чтобы показать как я себе это представляю =) Контроль над количеством дней в конкретном месяце я не писал, слишком много вариантов. Месяцы переставлять я думаю понятно как - просто делаем выборку по другом месяцу.

Это сообщение отредактировал(а) Axxent - 3.5.2005, 14:46
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 4.5.2005, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Хорошо, поюзаю и свои размышления, если что, исходники выкину сюда.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0743 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.