За последние 24 часа нас посетили 62992 программиста и 1744 робота. Сейчас ищут 899 программистов ...

Функция подсчета соотношения входящих и исходящих сообщений

Тема в разделе "Прочие вопросы по PHP", создана пользователем viprus, 17 дек 2015.

  1. viprus

    viprus Активный пользователь

    С нами с:
    27 сен 2013
    Сообщения:
    25
    Симпатии:
    0
    Есть такая функция которая считает соотношение входящих и исходящих сообщений.
    Но считает она неверно. Какая здесь допущена ошибка?


    Код (PHP):
    1. function isReplyRate($incoming, $outgoing) {
    2.  
    3.     if($incoming && $outgoing && $incoming >= $outgoing){
    4.         $width = ceil(($outgoing * 100)/$incoming);
    5.     }elseif($incoming < $outgoing){
    6.         $width = 100;
    7.     }else{
    8.         $width = 5;
    9.     }
    10.     
    11.     if ($width < 25)   $class = "rr_red";
    12.     elseif ($width >= 25 && $width < 70)   $class = "rr_yellow";
    13.     elseif ($width >= 70)   $class = "rr_green";
    14.     
    15.     return array('class' => $class, 'width' => $width."%");
    16. } 
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Re: Функция подсчета соотношения входящих и исходящих сообще

    - при каких входных параметрах она работает неправильно?
    - как при них она должна работать - правильно?
     
  3. viprus

    viprus Активный пользователь

    С нами с:
    27 сен 2013
    Сообщения:
    25
    Симпатии:
    0
    Re: Функция подсчета соотношения входящих и исходящих сообще

    Не уверен, что смогу верно объяснить..

    суть

    Если пользователь не отвечает на входящие сообщения - $class = "rr_red"
    Если пользователь иногда отвечает на входящие сообщения - $class = "rr_yellow"
    Если пользователь всегда отвечает на входящие сообщения - $class = "rr_green";

    Т.е. функция должна считать условно если человек получил письмо и не ответил, то красный
    Если получил 2 письма и на одно ответил а на другое нет - то желтый
    Если получил два письма и ответил на оба, то зеленый
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Re: Функция подсчета соотношения входящих и исходящих сообще

    viprus можно просто перепроверить как работает программа с помощью отладки, так ты сможешь увидеть в каком месте что-то пошло не так как ты задумал.
    http://phpfaq.ru/debug
    https://netbeans.org/kb/docs/php/debugging_ru.html
     
  5. viprus

    viprus Активный пользователь

    С нами с:
    27 сен 2013
    Сообщения:
    25
    Симпатии:
    0
    Re: Функция подсчета соотношения входящих и исходящих сообще

    разобрался,.. неверно считало первично именно $incoming, $outgoing
    а в самой функции все ОК.

    спасибо всем за внимание и оперативное содействие!!
     
  6. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Re: Функция подсчета соотношения входящих и исходящих сообще

    Ну раз есть сообщения, то на каждое сообщение есть флаг - вида " прочитано/не прочитано ".

    1. Берем общее количество сообщений
    2. Берем количество прочитанных сообщений

    Делаем условие, если " прочитанных сообщений <= 0 ", то тогда мы покажем красный, если " прочитанных сообщений > 0 и < чем общее количество сообщений ", покажем желтый, в другом случае у нас будет зеленый, что будет означать, что все сообщения прочитаны.