Erro ao buscar 2 valores iguais no banco de dados
Bom, estou desenvolvendo um sistema de ranking pra um jogo que eu tou fazendo, após pesquisar um pouco encontrei uma solução que puxa todas as colunas em ordem (DESC ~ ASC ) se não me engado, conforme eu escolher, todos os valores foram puxados certos, porém na hora de eu pegar os outros dados que sejam igual aquele valor, se o valor for igual, meio que sai o que já apareceu em cima.
<?php
$buscaRanking = mysql_query("SELECT mediarank FROM personagem ORDER BY mediarank DESC");
//Ranking 1
$ordemRank1 = mysql_result($buscaRanking, 0);
$buscaRanking1 = mysql_query("SELECT * FROM personagem WHERE mediarank = '$ordemRank1'");
$dadosRanking1 = mysql_fetch_array($buscaRanking1);
$rankingn1 = $dadosRanking1['nome'];
$rankingp1 = $dadosRanking1['mediarank'];
$rankingu1 = $dadosRanking1['usuarioid'];
//Ranking 2
$ordemRank2 = mysql_result($buscaRanking, 1);
$buscaRanking2 = mysql_query("SELECT * FROM personagem WHERE mediarank = '$ordemRank2'");
$dadosRanking2 = mysql_fetch_array($buscaRanking2);
$rankingn2 = $dadosRanking2['nome'];
$rankingp2 = $dadosRanking2['mediarank'];
$rankingu2 = $dadosRanking2['usuarioid'];
//Ranking 3
$ordemRank3 = mysql_result($buscaRanking, 2);
$buscaRanking3 = mysql_query("SELECT * FROM personagem WHERE mediarank = '$ordemRank3'");
$dadosRanking3 = mysql_fetch_array($buscaRanking3);
$rankingn3 = $dadosRanking3['nome'];
$rankingp3 = $dadosRanking3['mediarank'];
$rankingu3 = $dadosRanking3['usuarioid'];
?>
Pode existir forma mais facil de se fazer, mas a unica que achei vendo o manual do mysql e consegui utilizar foi essa. Mostra quase que perfeitamente em ordem, porém como eu disse, se dois valores no $buscaRanking forem iguais, na hora de dar o select sai errado.
Para dar um exemplo(na verdade os números são reais), estou puxando a média de 5 atributos que o personagem tem, esse valor é salvo no banco de dados.
ai os valores são 100, 86, 86, nessa ordem, o primeiro é meu, o segundo também, o terceiro também(criei 3 personagens de teste)
cada personagem tem um nome diferente, só que como o valor é igual, aparece o primeiro personagem em primeiro lugar, e o segundo personagem em segundo e terceiro lugar.
Espero que tenham intendido meu problema.
Discussão (4)
Carregando comentários...