Logo Hardware.com.br
jhonnlennon
jhonnlennon Novo Membro Registrado
4 Mensagens 0 Curtidas

[Dúvida] - Ranking em PHP [Resolvido!!]

#1 Por jhonnlennon 05/11/2012 - 20:50
Olá membros, boa noite!

Sou novo aqui, e não sei usar o fórum, caso eu esteja postando em local errado, por favor desculpe.
Estou fazendo essa postagem pois estou realmente cansado e desesperado por uma resposta...


Bem o que acontece é o seguinte;
Eu quero criar um Ranking para meu site, este ranking é bem simples e uma boa parte dele já conclui lendo e re-lendo todos os tutoriais possíveis na internet, mas cheguei a um ponto que já tentei de tudo e não consigo uma solução.


Continuando...


O que eu quero fazer é simples, é pegar os resultados gravados em um banco de dados do meu MySQL, coloca-lo em uma tabela via php.
Abaixo vou postar até onde eu consegui:
<?php

// Inclui o arquivo que faz a conexão ao banco de dadosinclude("includes/mysqli.php");
//consulta sql
$query = mysql_query("SELECT * FROM bt_pvp_overall ORDER BY Wins Desc Limit 10") or die(mysql_error());
//faz um looping e cria um array com os campos da consulta
while($array = mysql_fetch_object($query)) {
?>

Abaixo o ranking de PVP


Posição Nome Vitorias
<?php echo $array->Name; ?> <?php echo $array->Wins; ?> <?php echo $array->Losses; ?>

<?php
}
?>
Está praticamente tudo pronto, o que esta faltando é:
1º Fazer uma lista de 1 até o 10, (No caso isso seria a posição do personagem)
2º Fazer com que as colunas ("Posição", "Vitorias", e "Derrotas", parem de se repetir)
3º Poder editar a tabela, com cores, tamanhos, imagens e etc..


Veja aqui uma print de como fica:
Imagem


Em modo vulgar seria algo assim
==POSIÇÃO====NOME====VITORIAS==DERROTAS==
1º..............................Fulano1............100..................50
2º..............................Fulano2............98.................. 50
......................................................................................
8º..............................Fulano8............30......................50


Desculpe o post tão grande.
Obrigado
Responder
spidermanx
spidermanx Zerinho Registrado
188 Mensagens 13 Curtidas
#2 Por spidermanx
05/11/2012 - 22:30
E ai beleza cara, vamos por partes pequenas:

Primeira coisa, tente utilizar as tags de código, exemplo mais abaixo:

Vamos arrumar o cabeçalho da tabela/títulos das colunas se assim preferir.

No laço while que você escreveu, retire a tr com os títulos e imprima-as antes do while:

<!-- imprime os titulos para coluna, parte fixa -->
<p>Abaixo o ranking de PVP</p>
<table width="591" border="0">
<tr>
<td width="50">Posição</td>
<td width="175">Nome</td>
<td width="47">Vitorias</td><
td width="53">Derrotas</td>
</tr>
Depois junto da conexão com o banco crie uma variável que acumulará as posições de cada personagem:


[php]<?php// acumulador de posicoes
$posicao = 1;
// Inclui o arquivo que faz a conexão ao banco de dadosinclude("includes/mysqli.php");
//consulta sql
$query = mysql_query("SELECT * FROM bt_pvp_overall ORDER BY Wins Desc Limit 10") or die(mysql_error());//faz um looping e cria um array com os campos da consulta
while($array = mysql_fetch_object($query)) {
?>
<?php echo $posicao; ?> <?php echo $array->Name; ?> <?php echo $array->Wins; ?> <?php echo $array->Losses; ?>

<?php
$posicao = $posicao + 1; // acumula proxima posicao ate terminar
} ?>[/php]Faça os testes e veja como fica.

Espero ter ajudado.
"Conhecimento dá poder, mas só o caráter grangeia respeito." Bruce Lee
jhonnlennon
jhonnlennon Novo Membro Registrado
4 Mensagens 0 Curtidas
#3 Por jhonnlennon
06/11/2012 - 07:59
Opa! Bom dia!


Caro amigo spiderman,

Então, aparentemente conseguimos uma evolução, veja a imagem abaixo:
Imagem

Porém, o campo em vermelho fica fora da tabela, e a numeração fica sem o "º", sabe o 1º, 2º...8º.
De qualquer forma, vou passar esta manhã testando aqui, já foi um grande avanço!
Muito Obrigado, aguardo mais ideias.

Vou citar como o código está.
========================================
[php]

Abaixo o ranking de PVP


Posição Nome Vitorias Derrotas
<?php echo $posicao; ?> <?php echo $array->Name; ?> <?php echo $array->Wins; ?> <?php echo $array->Losses; ?>


<?php
$posicao = $posicao + 1; // acumula proxima posicao ate terminar
} ?>[/php]
=============================================


Um Pequeno Edit!!
Sobre o "º", eu coloquei ali na <?php echo $posicao; ?>
um "º" e aparentemente deu certo.


Veja como está agora.
<?php echo $posicao; ?>º
jhonnlennon
jhonnlennon Novo Membro Registrado
4 Mensagens 0 Curtidas
#5 Por jhonnlennon
06/11/2012 - 09:11
Spidermanx!

Você é o cara! Muito obrigado e parabéns pelo seus conhecimentos!
Está perfeito, veja abaixo!
Imagem


Agora vou fazer um trabalho de css nele e ainda tenho que fazer outros 3 ranking desses, mas agora graças a você eu sei o caminho das pedras.


Um grande obrigado e um forte abraço!


Aos amigos que tiverem duvidas, vou postar o código abaixo já prontinho.


[php]

Abaixo o ranking de PVP

PosiçãoNomeVitoriasDerrotas
<?php echo $posicao; ?><?php echo $nome; ?><?php echo $vitorias; ?><?php echo $derrotas; ?>
[/php]
Obs, eu mudei algumas coisas.
Depois tem como você me passar seus contatos?
spidermanx
spidermanx Zerinho Registrado
188 Mensagens 13 Curtidas
#6 Por spidermanx
06/11/2012 - 09:20
Esse negócio de cara eu to fora, rsrsrs, brincadeiras à parte, valeu pelo prestígio, mas é pra isso que o fórum serve, compartilharmos conhecimentos.

Quanto à reputação existe um ícone de uma balança ao lado do de msn quando logado.

======= Editado ======


Outra dica importante, se conseguiu resolver o problema, recomendo editar o título do seu tópico com um [Resolvido].
"Conhecimento dá poder, mas só o caráter grangeia respeito." Bruce Lee
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal