MySQL. Ошибка

interzapchast01
11 років
0
Подскажите пожалуйста с чем связана ошибка Warning: Division by zero in /home/*******/*****.com/www/catalog/controller/product/search.php on line 251 и как её можно убрать? Заранее благодарен.
rudenko
11 років
0
Напишите код, который находится в строке 250-252 в указанном вами файле.
Ошибка вызвана операцией деления на ноль.
interzapchast01
11 років
0
Вот пожалуйста
250
'attribute_groups' => $this->model_catalog_product->getProductAttributes($result['product_id']),
251
'percent' => round((($result['price'] - $result['special'])/$result['price'])*100, 0),
252
'product_id' => $result['product_id'],
rudenko
11 років
0
Ошибка возникает из-за того, что цена для товара указана равной нулю.
Замените строку
'percent' => round((($result['price'] - $result['special'])/$result['price'])*100, 0),
на следующую:
'percent' => (!empty($result['price'])) ? round((($result['price'] - $result['special'])/$result['price'])*100, 0): 0,
interzapchast01
11 років
0
Спасибо большое, а если потом цена изменится то и строчку менять обратно надо?
rudenko
11 років
0
Нет, потом менять не придется. Там добавлена проверка: если цена=0 то показываем 0, в противном случае выполняем функцию вычисления.
Тема закрита.