Помогите сделать счётчик

Тема в разделе "PHP", создана пользователем TecT, 25 окт 2009.

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

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    449
    Симпатии:
    44
    вот часть кода
    PHP:
    <?php echo date("d.m.Y H:i:s",intval($current_user->registered_at)); ?>
    он выводить дату регистрации пользователя! Хотелось бы сделать подсчёт то есть чтоб дето в другой строчке выводилось пользователь у нас уже допустим 2 месяца и один день!
    как это сделать?
     
  2. ZloiJoker

    ZloiJoker Создатель

    Регистр.:
    2 июн 2007
    Сообщения:
    33
    Симпатии:
    0
  3. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    449
    Симпатии:
    44
    хм но там вроде нету того что я хочу :(
     
  4. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421
    вот то что вам нужно по ходу (на скорую руку налепил, думаю разберетесь что к чему...:(
    PHP:
    <?php
    //21.10.2009 14:43:03
    $mydate mktime(14,43,3,10,21,2009);
    $i time() - $mydate;

    $days=floor($i/86400);
    $hours=(floor($i/3600)-($days*24));
    $min=((floor($i/60)-($days*1440)))-($hours*60);

    if (
    $days<30)
    {
        if ((
    $days>=10)&&($days<=20)) $d='дней';
        else
        {
             switch(
    substr($days, -11))
             {
             case 
    1$d='день'; break;
             case 
    2: case 3: case 4$d='дня'; break;
             case 
    5: case 6: case 7: case 8: case 9: case 0$d='дней'; break;
             }
        }

        if (
    $days>=0)
        {
            if ((
    $hours>=10)&&($hours<=20)) $h='часов';
            else
            {
                switch(
    substr($hours, -11))
                {
                    case 
    1$h='час'; break;
                    case 
    2: case 3: case 4$h='часа'; break;
                    case 
    5: case 6: case 7: case 8: case 9: case 0$h='часов'; break;
                }
            }
        }

        if (
    $hours>=0)
        {
            if ((
    $min>=10)&&($min<=20)) $m='минут';
            else
            {
                switch(
    substr($min, -11))
                {
                    case 
    1$m='минута'; break;
                    case 
    2: case 3: case 4$m='минуты'; break;
                    case 
    5: case 6: case 7: case 8: case 9: case 0$m='минут'; break;
                }
            }
        }
    }

    echo 
    "<b>Вы у нас:<br> $days $d$hours $h и $min $m</b>";
    ?>
     
  5. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    449
    Симпатии:
    44
    выводит почему то так
    Вы у нас: 67 , 8 и 4
    А я зареген
    21.10.2009 14:43:03
     
  6. bikuri

    bikuri Создатель

    Регистр.:
    18 май 2009
    Сообщения:
    36
    Симпатии:
    0
    Конкретно ничего не скажу, но может есть смысл копать в сторону секунд со 'времени Unix'?
     
  7. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    449
    Симпатии:
    44
    не могу поверить что никто не знает :(
     
  8. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421
    подставите соответствующие значения $current_user->registered_at в mktime()
    PHP:
    $mydate mktime(14,43,3,10,21,2009);
    P.S. Скрипт постом выше поправил и отладил.
     
  9. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    449
    Симпатии:
    44
    хм...если вставлять конкретные данные именно числовые то всё работает на ура! но это я хочу сделать в чате а там пользователей не мало и у каждого прописывать их данные как то будет не легко :) а вот если вставлять переменную которая выводит когда пользователь был зареген то вот что получается:
    Профиль зарегистрирован: 25.10.2009 20:46:14
    Вы у нас: -1 день, 12 и 0 минут

    А вот у меня есть скрипт который подсчитывает сколько юзеру лет! тоесть он вводит свои данные допустим 2,12,1988 и ему выбивает 20лет, можно от этого скрипта отталкиватся но у меня всё равно чёт не получается :(
     
  10. funman

    funman Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    146
    Симпатии:
    25
    Логически подумать если все работает когда вставляешь конкретные данные , то просто нужно твои данные привести идентичным.

    что показывает ? echo date("d.m.Y H:i:s",intval($current_user->registered_at))

    Я думаю не проблема привести в формат при котором все работает.
     
Статус темы:
Закрыта.