Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: Division by zero in
 
 автор: TetRiska   (09.04.2012 в 14:13)   письмо автору
 
 

Суть ошибки понятна - нельзя делить на ноль, но я не могу словить когда она возникает. На строки 3 и 4 ругается. Прошу помощи. Задача - расставить всем товарным блокам одинаковый отступ друг от друга, начиная со второго блока.

width - ширина слайдера клиента получаемая скриптом, зависит от ширины экрана
block - вычисляемое количество товарных блоков в слайдере на 1 пролист
158 - ширина 1-го товарного блока
margin - значение которое мы должны раскинуть на отступы между товарными блоками

$block  = floor($width/158);
$margin = $width - ($block*158);
    
$DeltaMid = floor($margin/($block-1));
$Delta = $margin%($block-1);
    
$ArrayDelta[] = 0;
for($i=0;$i<$block-1;$i++){
    if ($Delta > 0){
        $ArrayDelta[] = $DeltaMid + 1;
        $Delta = $Delta - 1;
    }else{
        $ArrayDelta[] = $DeltaMid;
    }
}


в итоге я получаю массив в котором записаны значения отступов каждого товарного блока друг от друга, т. е. на разрешении в 1024 пикс по ширине, width слайдера равен 650, block из расчета будет 4, margin равен 18, первому товарному блоку ставим всегда 0......массив будет содержать: 0, 6, 6, 6

в другом случае если margin не будет делится на цело на кол. товарных блоков, то массив может быть такого вида: 0 6 5 5

  Ответить  
 
 автор: Lotanaen   (09.04.2012 в 14:32)   письмо автору
 
   для: TetRiska   (09.04.2012 в 14:13)
 

ну так если у вас $width в диапазоне 158-315, то и ($block-1)==0 получается.

  Ответить  
 
 автор: TetRiska   (09.04.2012 в 15:11)   письмо автору
 
   для: Lotanaen   (09.04.2012 в 14:32)
 

и точно, спасибо большое

  Ответить  
 
 автор: confirm   (09.04.2012 в 18:34)   письмо автору
 
   для: TetRiska   (09.04.2012 в 14:13)
 

А почему не CSS или на худой конец TABLE?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования