Помогите пожалуйста сделать вывод в анкету балов по всех чемпионатах в евролиге
Вроде бы сделал вывод но есть проблема
Когда смотрю в чью то анкету то показывает мое количество балов и место
Что нужно сделать с user_id что бы оно показывало балы конкретного пользователя ?
$q=mysql_query("SELECT * FROM `formul` WHERE `type`=5 ORDER BY `vsego` DESC LIMIT $start, $kmess;");
$n =0;
if($start)$n=$start;
while($a=mysql_fetch_array($q)){
$n =$n + 1;
switch($act){
default:
$o=$a['vsego'];
break;
}
if($a['user_id']==$user_id)
{
echo '<div class="menu"><b><li>Евролига: '.$o.' очков - '.$n.' место</li></b>';
echo '</div>';
}
}
Grosso, $user['id'] для анкеты бери. И зачем тебе там кейсы(switch-case)? Цикл тоже нафиг не нужен. Запрос кривой. Вместо ORDER и LIMIT и всего остального что после идет, надо WHERE `user_id` = ".$user['id']."
Там WHERE даже есть, тогда AND `user_id` = ".$user['id']." Что бы место рассчитать, понадобится ещё один запрос в ту же таблицу. Для подсчитывания юзеров, у которых больше очков или балов чем у данного юзера.
ValekS, можешь написать как будет выглядеть код, просто я не силен в этом, по примерах могу только сделать (
Grosso, я бы сделал так:
$points = mysql_fetch_array(mysql_query("SELECT `vsego` FROM `formul` WHERE `type`= 5 AND `user_id` = ".$user['id']));
$points = $points['vsego'];
$place = mysql_result(mysql_query("SELECT COUNT(*) FROM `formul` WHERE `type` = 5 AND `vsego` > ".$points), 0);
$place += 1;
echo '<div class="menu"><b><li>Евролига: '.$points.' очков - '.$place.' место</li></b></div>';
ValekS, спасибо, все работает на высшем уровне)
ValekS, не подскажешь еще как сделать если 0 очков то что бы писало нету
и показывало не 1 место, а например 99 или -
$points = mysql_fetch_array(mysql_query("SELECT `vsego` FROM `formul` WHERE `type`= 5 AND `user_id` = ".$user['id']));
$points = $points['vsego'];
if ($points > 0){
$place = mysql_result(mysql_query("SELECT COUNT(*) FROM `formul` WHERE `type` = 5 AND `vsego` > ".$points), 0);
$place += 1;
echo '<div class="menu"><b><li>Евролига: '.$points.' очков - '.$place.' место</li></b></div>';
}else{
else '<div class="menu"><b><li>Евролига: 0 очков -- место </b></li></div>';
}