Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Carregando comentários...