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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Текстовый календарь 
:(
    Опции темы
Aliance
Дата 13.9.2005, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Хочу сделать календарь, куда будут заносится дни рождения (дата+комментарий)
Но он должен выглядеть текстом, например:


Первый 01.01.2005
Второй 02.02.2005
Сотый 30.12.2005



Розовым выделено то, что уже прошло...
И есть (на отдельной страничке) форма для добавления...

В принципе легко, но нужен алгоритм.
Особенно интересует закрашивание розовым.
Как бы придеться читать дату во втором <td> и сравнивать с текущей, так?
PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 14.9.2005, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Вот, набрасал небольшой эскизик... смотреть
Пока только чисто эскиз, даже без дизайна, что уж говорить о серверных скриптах smile

ЗЫ: работать будет все на файлах... БД под такую мелочь заводить не хочу!
PM MAIL WWW ICQ Skype   Вверх
R.M.
Дата 14.9.2005, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: -2
Всего: 30



Aliance

Сам спросил - сам ответил smile или есть вопрос?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Aliance
Дата 14.9.2005, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(Aliance @ 14.9.2005, 00:28)
нужен алгоритм.
Особенно интересует закрашивание розовым.
Как бы придеться читать дату во втором <td> и сравнивать с текущей, так?

^^^
PM MAIL WWW ICQ Skype   Вверх
R.M.
Дата 14.9.2005, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: -2
Всего: 30



Aliance

Мне кажется без базы будет сложнее сделать

ИМХО создай таблицу в базе а в ней поле дата, пусть туда добавляется дата, дальше сверяй с севодняшней датой если вчера - розовая, если севодня - белая, можно цвета в переменную забить и всё. К сожалению сейчас время мало, не могу написать, подожди завтра наишут smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
o.s.a.
Дата 14.9.2005, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


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

Репутация: 2
Всего: 15



Цитата(Aliance @ 14.9.2005, 01:28)
Как бы придеться читать дату во втором <td> и сравнивать с текущей, так?

ИМХО, тебе нужно сначала упорядочить даты, выбранные из БД/файла, а затем разделить их на 2 группы: до и после. И выводить одни закрашенными, другие - нет.


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
lina
Дата 14.9.2005, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я бы сделала примерно так, как сказал o.s.a. Данные из файла считываются в массив, массив сортируется, далее находится индекс элемента массива, где дата совпадает с текущей и используются 2 цикла for . Первый for
Код

  ($i=0;$i<=$index;$i++) 
  // выводить даты розовым
 
($i=$index+1;$i<count($masive_name);$i++) 
  // выводить даты белым

PM MAIL   Вверх
-=Ustas=-
Дата 14.9.2005, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Aliance, в каком формате дату хранишь?


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


Мудрый...
****


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

Репутация: 122
Всего: 261



Как будет храниться инфа в данном случае не особо принципиально.

Aliance тебе надо полуить массив, отсортировав по дате. Затем циклом по всему массиву сравнивать даты. Старая дата генеришь с одним CSS, больше - с другим, равна - с ьтретьим
PM ICQ   Вверх
Aliance
Дата 14.9.2005, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



o.s.a.
Интересное предложение smile Спасибо, подумаю.

-=Ustas=-
Пока ни в каком, я только думаю над алгоритмом, сам скрипт не пишу.

Цитата
К сожалению сейчас время мало, не могу написать, подожди завтра наишут

Лучше не нужно, используя чужие скрипты я мало чему научусь smile
Добавлено @ 17:54
Mal Hack
Спасибо, до вторника буду делать (не знаю когда время выпадет свободное), ко вторнику выдам результаты...или их отсутствие smile
PM MAIL WWW ICQ Skype   Вверх
PARROT
Дата 14.9.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Вот мои мысли по этому вопросу: (правда немного недоделанные...)
Код

<form method=post>
месяц <input type=text name=mes value=00 size="1" maxlength="2">
день <input type=text name=den value=00 size="1" maxlength="2">
год <input type=text name=god value=1971 size="3" maxlength="4"><br/>
<input type=submit name=send value=отправить>
</form>
<?
if($send){
if($mes>12 || $den>31){
echo $err="Ошибка";
}
        if(!$err){
      $target_date=mktime(0,0,0,date($mes,time()),date($den,time()),date($god,time()));
 echo       $target_date."<br>";
        }
        }

 $now_date=mktime(0,0,0,9,14,2005);
if ($target_date<>$now_date)
        $st="<td style=border:1 solid #444E93 bgcolor=red>Вася</td>";  else $st="<td style=border:1 solid #444E93 bgcolor=blue>Вася</font></td>";
        print "<table width=100><tr>$st</tr></table>";
        ?>



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Aliance
Дата 16.9.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Все, сделал запись в файл. Осталось:
  • чтение из файла
  • проверка на валидность данных
  • дизайн

PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 21.9.2005, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Все получилось: http://jsguide.spb.ru/BK/3.php
Остался дизайн и регулярные выражения... С ними-то у меня и проблема...
Лучше использовать eregi?
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 21.9.2005, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

Репутация: 122
Всего: 261



Цитата(Aliance @ 21.9.2005, 19:07)
Лучше использовать eregi?

Нет. preg.
А для чего тебе там регулярки-то понадобились?
smile
PM ICQ   Вверх
Aliance
Дата 22.9.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(Mal @ 21.9.2005, 22:25)
А для чего тебе там регулярки-то понадобились?

А ты вот глянь последнюю запись, в поле дата там стоит строка, а не дата.
Этого быть не должно smile
Кроме того, нужно теги вырезать... а то создается угроза атаки smile
PM MAIL 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.

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


 




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


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

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