2016-07-14 2 views
-1

Этот новый код пользователя рейтинг работает для меня, но не совсем, сейчас проблема в том, что все пользователи имеют одинаковость рейтинг, все они имеют 1 °система

<?php 
mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die(mysql_error()); 
mysql_select_db($mysql_db) or die(mysql_error()); 
$sql = "SELECT ID, Name, username, Wins, Loses, Draws, (Wins + Loses) AS points FROM users WHERE username='$_GET[user]' ORDER BY points DESC"; 
$result = mysql_query($sql) or die(mysql_error()); 
if(!$result){ 
    echo 'SQL Query Failed'; 
}else{ 
    $rank = 0; 
$last_score = false; 
$rows = 0; 
while($row = mysql_fetch_array($result)){ 
$rows++; 
if($last_score!= $row['Wins']){ 
    $last_score = $row['Wins']; 
    $rank = $rows; 
} 
echo "rank ".$rank." is ".$row['Name']." with point ".$row['Wins'].""; 
} 
} 
?> 

НУЖНА

Example: 
ID username Wins Loses 
1 demo 12 12 RANKIG= 1° 
2 demo2 1 3 RANKIG= 2° 
+3

примечание стороны (ов), не используйте 'mysql_ *' больше, он удален от phpv7 и не делать '... WHERE имя пользователя = '$ _ GET [пользователь] ... 'это проблема безопасности (sql инъекции). Взгляните на «PDO» и привяжите значения/параметры. – Rasclatt

+0

Не могли бы вы привести пример того, как должен выглядеть код? –

+0

Теперь измените свой пароль – Strawberry

ответ

0

Try ваш запрос как:

$result=mysql_query("SELECT ID, Name, username, Wins, Loses, Draws, (Wins + Loses) AS points, count(points) AS Ranking FROM `users` WHERE username='$_GET[user]' ORDER BY CONVERT(points, INT) DESC"); 
+0

Здравствуйте, спасибо, но я не получаю результатов :( –

+0

попробуйте использовать «очки» без двойных кавычек? Обновленный ответ, чтобы отразить изменения. Я не могу воспроизвести это на своей машине из-за мой apache не настроен на этой машине.:/Надеюсь, что это поможет, еще несколько советов выглядят в отладке вашего запроса с помощью некоторой обработки mysql_error. – ThatAwesomeCoder

+0

вы думаете, что можете мне помочь на моем сервере? –

Смежные вопросы