Exibindo um intervalo de dados dentro de um array
Boa noite.
Estou criando um ranking de pontuação e preciso colocar uma paginação nesse ranking mas não posso fazer a paginação pelo select, pois a select tem que somar os pontos de cada jogador informados em cada registro no banco, se eu limito a select ele só vai somar os pontos dos registros da página e não todos os pontos do jogador.
Dessa forma optei por fazer a select normalmente e criar um array onde eu pretendo exibir somente parte dos dados.
Em resumo, consegui fazer da seguinte forma:
$dados = mysqli_query($conn, "SELECT *, sum(Pontos) as TotalPontos, sum(Acerto_Exato) as Acertos FROM placares INNER JOIN jogadores ON placares.JogadorID = jogadores.id WHERE campeonato='$campeonato' GROUP BY JogadorID ORDER BY TotalPontos DESC, Acertos DESC ");
for($a = 0; $a < 9; $a++ ) {
$row = mysqli_fetch_array($dados);
echo $row['JogadorID']. " - " .$row['nome'];
}
Esse código me retorna 10 registros do array, até ai tudo bem, mas eu gostaria de exibir apenas um intervalo, por exemplo do registro 5 ao 9.
Tentei da seguinte forma:
$dados = mysqli_query($conn, "SELECT *, sum(Pontos) as TotalPontos, sum(Acerto_Exato) as Acertos FROM placares INNER JOIN jogadores ON placares.JogadorID = jogadores.id WHERE campeonato='$campeonato' GROUP BY JogadorID ORDER BY TotalPontos DESC, Acertos DESC ");
for($a = 5; $a < 9; $a++ ) {
$row = mysqli_fetch_array($dados);
echo $row['JogadorID']. " - " .$row['nome'];
}
Dessa forma ele me mostra apenas 5 registros, mas ele sempre me mostra os 5 primeiros e eu preciso carregar os últimos 5.
Como faço???Discussão (0)
Carregando comentários...