Pesquisar na Comunidade
Mostrando resultados para as tags ''ranking''.
Encontrado 3 registros
-
Olá Pessoal, Converti o banco de dados de uma app em ASP Classico de MSSQL para MySQL para redução de custos e percebi que alguns componentes ou recursos não estão mais funcionando devido a não compatibilidade com o MySQL , como por exemplo a função : RecordCount Já consegui converter e atualizar 95% de aplicação para rodar com o MySQL, mas tem 1 item que esta tirando meu sono e após dias pesquisando, resolvi pedir ajuda. Segue o meu codigo abaixo , onde estou com problema no resultado dessa operação: <% ... Set RS = Server.CreateObject("ADODB.Recordset") RS.CursorLocation = 3 RS.CursorType = 3 RS.ActiveConnection = Cn RS.Open strSQL, Cn, 3, 3 RS.PageSize = 25 RS.CacheSize = RS.PageSize intPageCount = RS.PageCount intRecordCount = RS.RecordCount If NOT (RS.BOF AND RS.EOF) Then If CInt(intPage) > CInt(intPageCount) Then intPage = intPageCount If CInt(intPage) <= 0 Then intPage = 1 If intRecordCount > 0 Then RS.AbsolutePage = intPage intStart = RS.AbsolutePosition If CInt(intPage) = CInt(intPageCount) Then intFinish = intRecordCount Else intFinish = intStart + (RS.PageSize - 1) End if End If If intRecordCount > 0 Then For intRecord = 1 to RS.PageSize QntExibicoes = QntExibicoes + Rs.fields("views") ... %> Já percebi que a função RecordCount não pode ser usada com o MySQL ou pelo menos não é compativel. A paginação esta funcionando ! Porem , não consigo fazer ele calcular a quantidade de linhas (rows) do MySQL com a função RecordCount e acredito que possa ter alguma outra função que não esta compativel , mas como não conheço MySQL , não posso afirmar. Enfim, algum pode me dar uma luz ? Desde já agradeço pela atenção. Obrigado.
-
Tenho os seguintes valores em uma tabela MySQL Nome || pontos user1 || 20 user2 || 22 user3 || 0 user4 || 40 user5 || 10 user6 || 2 user7 || 5 gostaria de quando pesquisar algum user ele mostrava a posição do mesmo e os 2 usuários acima e abaixo dele exemplo: Nome || pontos user2 || 22 user1 || 20 user5 || 10 <== Usuários pesquisado user7 || 5 user6 || 2 Alguém tem alguma ideia?
-
Criando ranking e mostrando 20 resultados do meio da lista.
marcosberaldo postou um tópico no fórum PHP
Pessoal, boa noite. Tenho uma tabela no BD que preciso criar um rankin. Fiz uma select que soma duas colunas, de pontuação e outra de desempate, depois ordena as somas por jogador e cria o ranking. Até ai está funcionando blz. Meu problema é o seguinte: Imagine que existam 100 jogadores, eu estou em 70º. Eu quero mostrar o rankin com a minha colocação, mas é inviável criar uma lista com mais de 70 jogadores. O que eu quero é mostrar 10 colocações antes de mim e 10 depois de mim, ou seja, mostrar do 60º ao 80º colocado, mas não consigo fazer isso. No meu código criei até um while que identifica minha colocação (70º), mas não consegui criar um while que exiba somente esses 20 jogadores. Se alguém souber como resolver... fico muito grato. Segue o código: $sql = "SELECT *, SUM(Pontos) as TotalPontos, sum(Acerto_Exato) as Acertos FROM placares INNER JOIN jogadores ON placares.JogadorID = jogadores.id WHERE rodada = '$rodada' GROUP BY JogadorID ORDER BY TotalPontos DESC, Acerto_Exato DESC"; // Inicia o While de pontuação $result = mysqli_query($conn, $sql); $result2 = mysqli_query($conn, $sql); $i = 1; // Define 1 para o primeiro lugar no ranking // Esse while identifica minha posição no ranking while($r = mysqli_fetch_assoc($result2)) { $ID_Jog = $r['JogadorID']; $Pos = $totalArray[$r['JogadorID']] = $i++; if($LoginID == $ID_Jog) { $Minha_Colocacao = $Pos; } } while($row = mysqli_fetch_assoc($result)) { $ID_Jogador = $row['JogadorID']; $Posicao = $totalArray[$row['JogadorID']] = $i++."º "; $RankJogador = $row['nome']; $Pontos = $row['TotalPontos']; $AcertoExato = $row['Acertos']; // Verifica se o usuário é o jogador logado e marca um style diferente para ele. if($LoginID == $ID_Jogador) { // Se for o mesmo jogador define um fundo colorido para a linha dele na tabela $destaque = "style=\"background-color:#e6a527\""; //$Pos = explode('º',$Posicao); } else { // Caso não seja zera a variável novamente. unset($destaque); } echo " <div class=\"divTableRow\" $destaque> <div class=\"divTableCell\" align=\"center\">$Posicao</div> <div class=\"divTableCell\" >$RankJogador</div> <div class=\"divTableCell\" align=\"center\">$Pontos</div> <div class=\"divTableCell\" align=\"center\">$AcertoExato</div> </div>"; }