определение даты и взависимости вывод сегодня или вчера

Тема в разделе "PHP", создана пользователем fredis69, 13 фев 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. fredis69

    fredis69 Постоялец

    Регистр.:
    25 окт 2008
    Сообщения:
    84
    Симпатии:
    2
    В БД хранится дата добавления статьи в формате ГГГГ-ММ-ДД (2010-01-31)
    Как реализовать вывод:
    Допустим статья была добавлена сегодня, то выводим вместо даты - СЕГОДНЯ.
    Если статья была добавлена вчера, то выводим - ВЧЕРА.
    Если же статья была добавлена несколько дней назад от 3-ех и более, то выводим просто саму дату из БД.
    За ранее спасибо!
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    один из вариантов перевести даты в дни и вычесть, а результат обрабатывать с case
    Код:
    SELECT date_field,
    
    CASE TO_DAYS(NOW())-TO_DAYS(date_field) 
    WHEN 0 THEN 'сегодня'
    WHEN 1 THEN 'вчера' 
    ELSE date_field END data_new
    
    FROM table_test
    
     
    fredis69 нравится это.
  3. sultan347

    sultan347

    Регистр.:
    25 апр 2009
    Сообщения:
    230
    Симпатии:
    7
    рядом Перейти по ссылке полностью похожая тема, не судьба сделать минимальные изменения?

    PHP:
    $q mysql_query("SELECT UNIX_TIMESTAMP(datetime) AS datareg FROM `base` WHERE id=''");
    $r mysql_fetch_array($q)
    if ((
    3600*24*1)<=(time()-$r['datetime']))
    {echo 
    "сегодня";} 
    elseif ((
    3600*24*2)<=(time()-$r['datetime']))
    {echo 
    "вчера";}
    else
    {}
     
    fredis69 нравится это.
  4. fredis69

    fredis69 Постоялец

    Регистр.:
    25 окт 2008
    Сообщения:
    84
    Симпатии:
    2
    Что означают эти цыфры: 3600*24*1

    Я неоч хорошо знаю PHP простите
     
  5. sultan347

    sultan347

    Регистр.:
    25 апр 2009
    Сообщения:
    230
    Симпатии:
    7
    Это секунды, для удобства так пишу. 3600(1 час) * 24 (будет уже сутка)* 1 (количество суток)
     
    fredis69 нравится это.
Статус темы:
Закрыта.