-
Conteúdo Similar
-
Por Negrito
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.
-
Por EHCampos
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?
-
Por marcosberaldo
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>"; }
-
Por Leo.Lopes23
Saudações,
Tenho algumas dúvidas a respeito o ranqueamento de um site desenvolvido na plataforma Wix.
É realmente possível desenvolver um SEO neste tipo de site ?
Alguém poderia me ajudar ?
-
Por joaomart
Olá. Preciso fazer uma consulta MySql em PHP para listar uma espécie de ranking, porém quando uso o código para listar por ordem decrescente ele lista da seguinte maneira:
80
70
30
100
E preciso que ele liste assim:
100
80
70
30
O código PHP:
<?php include("conexao.php"); $sql = mysqli_query($conexao, "SELECT * FROM ranking ORDER BY `pontuacao` DESC") or die( mysqli_error($conexao) ); while($aux = mysqli_fetch_assoc($sql)) { echo "<tr>"; echo "<td>".$aux["nome"]."</td>"; echo "<td>".$aux["data"]."</td>"; echo "<td>".$aux["pontuacao"]."%</td>"; } ?> Agradeço a quem ajudar
-