Нужен алгоритм вычисления уровня рейтинга пользователя

Сенсей

Новичок
Нужен алгоритм вычисления уровня рейтинга пользователя

Объясню коротко.

Есть 10 уровней рейтинга.
В зависимости от уровня рейтинга выводится соответствующая картинка.
Рейтинг основан на количестве комментариев отправленных юзером.

Алгоритм такой:

У каждого юзера есть число (количество отправленных комментариев).
Берем максимальное число (оно будет у нас 10 тым уровнем, то есть высшим)
Берем число каждого юзера и вычисляем в ПРОЦЕНТНОМ соотношении к МАКСИМАЛЬНОМУ числу уровень рейтинга пользователя.

Вроде просто, а у меня громоздко получается.

PHP:
$max_comments_out = 10000; = максимальное число выбранно заранее
$in_one_percent = 100/$max_comments_out;

# Тут заброс к базе.. это не важно
# Выбираем число каждого юзера и в цикле выводим уровень рейтинга
while(list($all_comments_out)= sql_fetch_row($res))
{
	$percent = $in_one_percent*$all_comments_out);
	if ($percent <= 10)
	{
		$rate_img = 1; # Первый уровень
	}
	else if ($percent <= 20)
	{
		$rate_img = 2; # Второй уровень и т.д
	}
	else if ($percent <= 30)
	{
		$rate_img = 3;
	}
	else if ($percent <= 40)
	{
		$rate_img = 4;
	}
	else if ($percent <= 50)
	{
		$rate_img = 5;
	}
	else if ($percent <= 60)
	{
		$rate_img = 6;
	}
	else if ($percent <= 70)
	{
		$rate_img = 7;
	}
	else if ($percent <= 80)
	{
		$rate_img = 8;
	}
	else if ($percent <= 90)
	{
		$rate_img = 9;
	}
	else if ($percent <= 100)
	{
		$rate_img = 10;
	}
}
Как поняли, вывод идет в цикле.. и вот так в цикле каждый раз ифами перебирать...

Может можно как то по умному организовать это?
 

Фанат

oncle terrible
Команда форума
30 - 3
20 - 2
90 - 8
ни на какие мысли не наводит? арифметические?
 

Сенсей

Новичок
2 первые строки наводит на деление на 10
Но третья сивает с толку =))

Или я туплю... или...

Пример -
PHP:
$max_comments_out = 10000000; 
$in_one_percent = 100/$max_comments_out;
# Например у юзера число
$all_comments_out = 2;

# то
$percent = $in_one_percent*$all_comments_out);
# Выдаст - 0.00056
Что мне даст деление на 10?
 

Сенсей

Новичок
PHP:
$max_comments_out = 10000000;  
$in_one_percent = 100/$max_comments_out; 
# Например у юзера число 
$all_comments_out = 2;

$percent = ($in_one_percent*$all_comments_out)/10; # делим на 10
# Выдаст - 0.0056 вместо 0.00056
Де моя цифра . $rate_img. ? :)
 

Фанат

oncle terrible
Команда форума
ложись спать.
утро вечера мудренее. авось, тебе приснится решение, как Менделееву таблица.
 

Сенсей

Новичок
Да я же не засну... щас всю ночь буду в бошке крутить...

Есть небольшая мысля... но дл я этого мне надо например число 0.00056 привести к числу 10

Такого округления я еще не видел =))

Дай хоть еще намек.. я уже 2 часа тут бьюсь...

-~{}~ 30.11.06 03:51:

$rate_img = round(ceil($percent), -1)/10;

Справедливость воссторжествовала :)))
 

Фанат

oncle terrible
Команда форума
зачем число 0.00056 приводить к 10?
ему прямая дорога к 1!
И зачем тебе здесь два округления?
 
Сверху