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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разница между двумя датами 
V
    Опции темы
Aliance
Дата 10.10.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Доброго всем времени суток!

Искал по форуму ответ на свой вопрос, обнаружил только тему от Вовы, но она была немного не отвечающая на мою проблему:

У меня есть топики с форума IPB и есть поле, содержащее дату его создания в формате mktime().
С помощью специального API я делаю вывод последних 10 топиков с опр. раздела. Я хочу добавить такую фичу: если топик создан за последние 7 дней - то я перед его названием помещаю свою картинку (мол, он новый). Как реализовать?

Секунды создания топика хранятся в переменной $topic_list_data[$i]['start_date'], прокручивающейся циклом.

Пытался сделать что-то вроде этого:
Код

$sek_diff = mktime() - $topic_list_data[$i]['start_date'];
$day_diff = date("d", $sek_diff);
echo $day_diff;


Но тут выводит разницу в днях не учитывая месяца. Помогите, как решить мою задачу?
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 10.10.2006, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



sek_diff - это разница в секундах? а сравнить с 7*24*3600(типа, 7 дней в секундах - лениво считать smile ) - это слишком медленно? мне кажется, что функция распарсивания секунд в минуты/часы/дни/месяца/года работает помедленнее обычного деления...
PM MAIL   Вверх
Aliance
Дата 10.10.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Не совсем тебя понял. Я же написал код - что я попробовал и у меня не получилось. Не стоит на нем останавливаться значит.
Подскажите метод решения. Чую он прост.
PM MAIL WWW ICQ Skype   Вверх
Aliance
Дата 10.10.2006, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


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

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



Проблема решена!

Если разница меньше 7 дней - то выводим картинку:
Код

if (bcdiv(time() - $topic_list_data[$i]['start_date'], 86400) < 7) printf( "&nbsp;<img src=\"%simg/new.gif\" alt=\"%s\" title=\"Новая статья\" heigth=\"15\" width=\"30\" />", url, $aliance->clan );

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


Новичок



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

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



Я бы доверил эту работу MySQL, ведь IPB хранит свои данные именно там smile

Код

select *, (start_date > now() - interval 7 day) as fl_new from some_table


В результате запроса флаг fl_new будет равен 1 для последних 7ми дней и 0 в противном случае ;)

Кстати, MySQL с математикой работает побыстрее чем PHP, особенно в данной ситуации.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.4818 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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