позиция в топе

ci_n_co

Новичок
позиция в топе

$unID = 5145;

$i=1;
$res4 = mysql_query("SELECT * FROM top ORDER BY votes DESC");
while($row4 = mysql_fetch_row($res4)){
if($row4[0]==$unID){break;}
$i++;
}


print "Your position in TOP100 is: ".$i;


по моему я как то не правильно определяю позицию в топе,
ходить по таблице и искать мне нужный ID nr.. что то не так..

Возможно ли определить позицию иначе?
 

Vallar_ultra

Любитель выпить :)
ci_n_co
Fuuuuuuuuuuck!

Тебе что-то мешает засунуть в запрос свой $unID ???
Спрашиваешь у базы, дай-ка мне всё что есть по условию ID равно $unID ORDER BY votes DESC
 

Dovg

Продвинутый новичок
с использованием подзапроса можно сразу определить позицию
 

Dovg

Продвинутый новичок
SELECT COUNT(*) FROM table WHERE rating > (SELECT rating WHERE id=you_known_id)
Если версия позволяет
 

ci_n_co

Новичок
thanks, всё пашет!

$res4 = mysql_query("SELECT COUNT(*) FROM top WHERE rank > (SELECT rank FROM top WHERE unID=".$unID.");");
$row4 = mysql_fetch_row($res4);
$i = $row4[0] + 1;

print "Your pos: ".$i;
 
Сверху