Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как такое сделать?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dextix
Отправлено: 26 Февраля, 2014 - 21:21:53
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Если в переменной $res['time']; содержится время в формате timestamp меньше одной недели от текущей даты - выводить один текст,
если больше - выводить другой текст.
Заранее благодарю за ответ.

(Отредактировано автором: 26 Февраля, 2014 - 21:23:23)

 
 Top
Vinyl
Отправлено: 26 Февраля, 2014 - 21:33:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




dextix пишет:
Если в переменной $res['time']; содержится время в формате timestamp меньше одной недели от текущей даты - выводить один текст,
если больше - выводить другой текст.
Заранее благодарю за ответ.


Вы серьезно?

От текущего таймштампа отнимаете тот, что в массиве, получаете число, а затем магия:

PHP:
скопировать код в буфер обмена
  1. если(число > недели)
  2. {
  3.   один текст
  4. }
  5. если нет
  6. {
  7.   другой текст
  8. }


Или Вам открытым кодом написать?


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
dextix
Отправлено: 26 Февраля, 2014 - 21:54:36
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Не совсем понимаю как сделать сравнение если время в формате timestamp меньше одной недели от текущей даты.. Можете это на примере показать?
 
 Top
Vinyl
Отправлено: 26 Февраля, 2014 - 22:20:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




dextix, может я не так понял, время в POSIX? Если да, то ИМХО, с ним работать намного легче, чем с любым другим. Получаете текущее время ф-ей time(), затем вычитаете из него Ваше $res['time'], а дальше элементарная математика. Можно тупо сравнивать с 604800 (неделя). Если нужно поточнее, то математики будет чуть больше, но тоже элементарно все. Если же у Вас время в ином формате, то перевести в Unixtime можно ф-ей strtotime()

(Отредактировано автором: 27 Февраля, 2014 - 06:58:44)



-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
dextix
Отправлено: 26 Февраля, 2014 - 22:54:29
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Время хранится в формате 2014-02-26 22:54:34 .

Вообщем сделал так:

PHP:
скопировать код в буфер обмена
  1. $date_today = date("Y-m-d");
  2. $date = date("Y-m-d" , strtotime($res['time']));
  3. $result=abs(floor((strtotime($date)-strtotime($date_today))/(3600*24)));
  4. if($result < 7) $result = 'Тут такой текст';
  5. else
  6. $result = 'А тут такой вот текст';
  7. echo $result;

(Отредактировано автором: 27 Февраля, 2014 - 01:56:11)

 
 Top
Vinyl
Отправлено: 27 Февраля, 2014 - 06:24:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




А зачем лишние ресурсы кушать? Замените

PHP:
скопировать код в буфер обмена
  1. $date_today = date("Y-m-d");
  2. ...
  3. $result=abs(floor((strtotime($date)-strtotime($date_today))/(3600*24)));


на

(Отредактировано автором: 27 Февраля, 2014 - 06:57:52)



-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Ch_chov
Отправлено: 27 Февраля, 2014 - 07:47:53
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




PHP:
скопировать код в буфер обмена
  1. if (strtotime($res['time']) < strtotime("-1 week")) {
  2.   echo 'outdated';
  3. }
  4. else {
  5.   echo 'actual';
  6. }
 
 Top
Vinyl
Отправлено: 27 Февраля, 2014 - 07:53:35
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




Ch_chov, а я и забыл про -1 week ... ))


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
dextix
Отправлено: 28 Февраля, 2014 - 13:56:03
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Всем спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB