mosquito
Новичок
Заколдованные числа 100..199
Описание.
Голосование использует одну картинку (одно деление) tick.gif, которая циклически выводится.
Перед выводом рассчитывается коэффициент масштабирования ($K), чтобы определить макс. кол-во шагов цикла.
$K рассчитывается след. образом:
находим максимальный элемент ($max) в массиве рез-тов ($results)
т.е. ответ за который большего всего проголосовали
затем, 80 делим на $max (80 - определяет макс. ширину графика,
состоящего из tick.gif).
Затем вывод.
Перед этим надо забить массив с рез-тами голосования:
$results[0]=1;
$results[1]=10;
$results[2]=100;
Проблема такая:
Если сделать макс. результат равным 100..199 или 1000..1999 и т.д. то выводит неправильно т.е. если $max=120 то будет выводить 120 картинок tick.gif, а не (80/120)*120=80
Описание.
Голосование использует одну картинку (одно деление) tick.gif, которая циклически выводится.
Перед выводом рассчитывается коэффициент масштабирования ($K), чтобы определить макс. кол-во шагов цикла.
$K рассчитывается след. образом:
находим максимальный элемент ($max) в массиве рез-тов ($results)
т.е. ответ за который большего всего проголосовали
затем, 80 делим на $max (80 - определяет макс. ширину графика,
состоящего из tick.gif).
Затем вывод.
PHP:
$max=max($results);
$K = 80/$max;
echo("<div>".$question."</div>");
echo "<TABLE>";
for ($i=0; $i<sizeof($results); $i++) {
// вывод номера ответа
echo("<TR><TD>".($i+1)."</TD><TD>");
// вывод текста ответа
echo($answers[$i]);
echo("</TD><TD>");
// вывод кол-ва ответов за данный ответ графиком
for ($t=0; $t<ceil($K*$results[$i]); $t++) {
echo("<IMG src=tick.gif>");
}
echo("</TD><TD>");
// вывод процентного соотношения
$percent = number_format(100*$results[$i]/array_sum($results), 2);
echo($percent."%");
echo("</TD><TD>".$results[$i]."</TD></TR>");
}
echo("</TABLE>");
echo("Всего проголосовавших: ". array_sum($results));
echo "</TD></TR></TABLE>";
Перед этим надо забить массив с рез-тами голосования:
$results[0]=1;
$results[1]=10;
$results[2]=100;
Проблема такая:
Если сделать макс. результат равным 100..199 или 1000..1999 и т.д. то выводит неправильно т.е. если $max=120 то будет выводить 120 картинок tick.gif, а не (80/120)*120=80