Kredov long

Ошибка в строке, как исправить

Тема в разделе "PHP", создана пользователем LOMANI, 1 мар 2013.

  1. LOMANI

    LOMANI

    Регистрация:
    18 янв 2013
    Сообщения:
    76
    Симпатии:
    5
    собственно сабж.
    A PHP Error was encountered
    Severity: Warning Message: Division by zero
    Filename: helpers/markup_helper.php Line Number: 76

    ошибка в строке return intval($price * $value / $nominal * $price_up);

    кусок кода
    $myCI =& get_instance();
    $price_up = $myCI->ip_get->get_price_up();
    return round($retPrice * $value / $nominal * $price_up);
    } else { // иначе считаем по старой схеме
    $myCI =& get_instance();
    $price_up = $myCI->ip_get->get_price_up();
    return intval($price * $value / $nominal * $price_up);
    }
    --- добавлено: 1 мар 2013 в 15:11 ---
    проблему решил
    у товара проста не была указана цена товара и валюта товара

    подскажите как прикрутить к этому куску кода вывод не ошибки, а например "0" если не указано ниче
     
  2. sdv75

    sdv75

    Регистрация:
    6 мар 2013
    Сообщения:
    0
    Симпатии:
    0
    Это фреймворк Code Igniter. В нем есть свои нюансы. Ошибка в хелпере markup_helper.php. Возможно надо будет еще и код контроллера. Напиши код, который в условии после if.
     
  3. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34

    а что мешает после
    $price_up = $myCI->ip_get->get_price_up();
    сделать проверку

    if($price_up == 0) return false;
     
  4. LOMANI

    LOMANI

    Регистрация:
    18 янв 2013
    Сообщения:
    76
    Симпатии:
    5
    не помогло
    та же ошибка если не выставлять цену т.е. пусто, а не ноль... и не выбирать валюту
     
  5. sergeydik

    sergeydik

    Регистрация:
    3 янв 2013
    Сообщения:
    0
    Симпатии:
    0
    if (!$price_up) return false;
     
  6. LDSP

    LDSP

    Регистрация:
    5 сен 2013
    Сообщения:
    30
    Симпатии:
    10
    return (($nominal * $price_up)!=0) ? intval($price * $value / $nominal * $price_up) : 0;