item_3133 На многих сайтах идёт различная информация, которая отражает время работы или возраст. Напимер: “Наша компания работает на рынке уже 15 лет”. Понятно, что через год цифру нужно менять, но есть большая вероятность, что о необходимости такого изменения вспомнят только лет через 10. В итоге получим потерю актуальности информации на нашем ресурсе. Выход очевиден, нужно заложить механизм, чтобы цифры, отражающие возраст или длительность чего-либо или кого-либо, изменялись автоматически. О том как это сделать и пойдёт речь в этой заметке.

Нам понадобятся следующие функции на php:

function rus_numeric ( $n, $var1, $var2, $var3, $var4 ) {
    $nmod10 = $n%10;
    $nmod100 = $n%100;
    if (!$n)
    {
              $str = $var1;
    } elseif ( ($n == 1) || ($nmod10 == 1 && $nmod100 != 11))
    {
            $str  =  $var2;

    } elseif ( ($nmod10 > 1) && ($nmod10 < 5)
    && ($nmod100 != 12 && $nmod100 != 13 && $nmod100 != 14))
    {
              $str = $var3;
    } else
    {
              $str = $var4;
    }
    return $str;
}

function old($dr)
{
$dr=strtotime($dr);
$day = date(‘d’,$dr);
$mon = date(‘m’,$dr);
$yea = date(‘Y’,$dr);

$fix = 1;
if (date(‘m’) > $mon)
    $fix = 0;
elseif (date(‘m’) == $mon)
{
    if (date(‘d’) > $day)
        $fix = 0;
}
$age = date(‘Y’) – $yea -  $fix;

$str=rus_numeric($age,’лет’, “год”, “года”, “лет”);

echo $age.’ ‘.$str;

}

Они позволяют определять возраст в зависимости от начальной даты и подставлять слово “лет/года/год” в зависимости от значения.

В тексте мы используем следующий код:

Наша фирма работает уже <? old(“1995-06-19″) ?>

В итоге получаем страничку о компании, на которой всегда отображается верная длительность работы на рынке.

Примером в моём исполнении может послужить страничка Агентства “Страховой советник Кокорев” с информацией о владельце. Возраст пятерых детей, а также стаж в страховании всегда в актуальном состоянии.

Digg del.icio.us toodoo.ru Закладки Google МойКруг МоёМесто Яндекс.Закладки bobrdobr.ru Memori.ru mister-wong.ru Новости 2.0 Furl Technorati
Теги:

См. также: