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

Форум PHP

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

 

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

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

тема: Распределение кол. просмотров товарной группы по самим товарам
 
 автор: TetRiska   (27.05.2011 в 11:33)   письмо автору
 
 

Всем привет. Нужна Ваша помощь в доведении скрипта.
$y=1;//количество просмотров товарной группы
$p=2;//количество товаров в товарной группе
$percent=$p < 10 ? $p : 10;//процент, максимум 10% и потом на уменьшение

if($p!=0){
    $yp=floor($y/$p);
}
for($i=0;$i<$p;$i++){
    $r = $percent-$i;
    if($r>0){
        echo round($yp+(($y/100)*$r)).'<br>';
    }else{
        echo round($yp).'<br>';
    }
}

Появилась задача назначить количество просмотров всем товарам, т.к. там изначально не было учтено счетчика. Назначать будем исходя из количества просмотров товарной группы в которой эти товары находятся. Нужно распределить так, чтобы суммарное количество просмотров всех товаров в товарной группе не превышало в 2 раза количество просмотров самой товарной группы. Т.е. сначала получаем одинаковое количество деля количество просмотров товарной группы на количество товаров, а потом первым десяти товарам делаем % надбавку от 10% до нуля, остальное выводим просто так. Более идеального варианта я не придумал, чтобы не перешагнуть порог в 2 раза. Сейчас застрял на моменте если количество просмотров товарной группы будет меньше чем самих товаров. В верхнем примере выведет всем нули, но нужно как-то распределить количество просмотров товарной группы по товарам. Прошу помощи. Спасибо.

  Ответить  
 
 автор: Miha_Kregov   (27.05.2011 в 12:43)   письмо автору
 
   для: TetRiska   (27.05.2011 в 11:33)
 

Нужно распределить так, чтобы суммарное количество просмотров всех товаров в товарной группе не превышало в 2 раза количество просмотров самой товарной группы.



А этого никогда не произойдет. Исходя из вашего алгоритма самая большая разница между количеством просмотров группы и суммарным количеством просмотров товаров будет в случае если товаров ровно 10 и превышение будет на 55%, т.е. в 1,55 раза, что удовлетворяет условие непревышения двух раз.


В верхнем примере выведет всем нули, но нужно как-то распределить количество просмотров товарной группы по товарам. Прошу помощи. Спасибо.


Вывести единицы первым ($y) товарам, остальным нули

  Ответить  
 
 автор: TetRiska   (27.05.2011 в 13:53)   письмо автору
 
   для: Miha_Kregov   (27.05.2011 в 12:43)
 

примерно так сделал
$y=1;
$p=10;
$percent=$p < 10 ? $p : 10;

if($p!=0){
    $yp=floor($y/$p);
}
if($y>$p){
    for($i=0;$i<$p;$i++){
        $r = $percent-$i;
        if($r>0){
            echo round($yp+(($y/100)*$r)).'<br>';
        }else{
            echo round($yp).'<br>';
        }
    }
}else{
    for($i=0;$i<$p;$i++){
        if($i<$y){
            echo (1).'<br>';
        }else{
            echo (0).'<br>';
        }
    }
}

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

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