Jump to content


Photo

Ranking


  • Faça o login para participar
8 replies to this topic

#1 Helcio Macedo

Helcio Macedo

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Marilia-SP

Posted 22/09/2009, 22:10

Quero fazer a seguinte tabela de ranking:


Posição Nome Matou Morreu
1 Helcio Macedo 150 11
2 Fulano 140 30
3 Ciclano 190 110
4 Beltrano 80 40
Até o 10º Lugar

Quero que o ranking funcione para que a cada pessoa q ele matasse, ganhasse 1 ponto e cada vez q ele morrer, perde 1 ponto!!

Por Exemplo
1 Helcio Macedo 150 - 11 = 139
2 Fulano 140 - 30 = 110
3 Ciclano 190 - 110 = 80
4 Beltrano 80 - 40 = 40

Mas o resultado dos pontos não deverá aparecer.. Apenas as quantides de Kills e Deaths assim como mostra o primeiro exemplo!!

Entenderam???

Como faço isso no Php com MySQL??

Banco = GVG
Colunas = NAME, KILLS, DEATHS

Alguém pode me ajudar??
Intel Inside Core 2 Duo E8400 - 3.0Ghz - Wolfdale - 6MB L2 Cache - 1333FSB
XFX 9300 Motherboard
x2 2Gb Corsair DDR 800Mhz
Western Digital 500Gb Caviar Green
NZXT Apollo Black

#2 digo

digo

    24 Horas

  • Usuários
  • 435 posts
  • Sexo:Masculino

Posted 22/09/2009, 23:05

Cria um novo campo "pontos" por ex.

cada vez que ele matar você da um update +1 no matou e pontos

e a cada vez que ele morrer você faz um update +1 morreu e -1 no pontos


[]'s

#3 Helcio Macedo

Helcio Macedo

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Marilia-SP

Posted 22/09/2009, 23:15

mas aí eh q tah.. isso é de um sistema pronto do jogo.. não dá pra mudar..
Eu pensei em algo como determinar
$kill = (conteudo da coluna Kill)
$death = (conteudo de Death)

e fazer algo como
$frag = $kill-$death

e depois no resultado ser mostrado como
SELECT * FROM gvg ORDER BY $frag LIMIT 10

Mas não deu certo.. jah tentei de várias formas
Intel Inside Core 2 Duo E8400 - 3.0Ghz - Wolfdale - 6MB L2 Cache - 1333FSB
XFX 9300 Motherboard
x2 2Gb Corsair DDR 800Mhz
Western Digital 500Gb Caviar Green
NZXT Apollo Black

#4 enthroned

enthroned

    eh noizeh!

  • Usuários
  • 257 posts
  • Sexo:Não informado

Posted 23/09/2009, 07:33

SELECT * FROM gvg ORDER BY kills DESC, deaths ASC

acho que ja resolve seu problema! <_<
=]

#5 MBA

MBA

    24 Horas

  • Usuários
  • 412 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte
  • Interesses:Desenvolvimento WEB

Posted 23/09/2009, 08:40

Bom dia amigo.
Tudo bom?

Faz assim que eu acho que vai!
[codebox]SELECT kills, deaths, kills - deaths as frag FROM gvg ORDER BY frag DESC;[/codebox]

Depois posta ai o que aconteceu!

Abraços e até a próxima!
Mateus Antunes
MBASistemas

#6 Helcio Macedo

Helcio Macedo

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Marilia-SP

Posted 23/09/2009, 12:09

Bom dia amigo.
Tudo bom?

Faz assim que eu acho que vai!

SELECT kills, deaths, kills - deaths as frag FROM gvg ORDER BY frag DESC;

Depois posta ai o que aconteceu!

Abraços e até a próxima!


Funcionou perfeitamente.. não conhecia essa forma de consulta usando o "as"..
Muito Obrigado!!


Só mais uma coisa.. como q eu faço pra mostrar o número das posições?
Pelo q entendi seria usando "array" mas tb nao sei usar ele
Intel Inside Core 2 Duo E8400 - 3.0Ghz - Wolfdale - 6MB L2 Cache - 1333FSB
XFX 9300 Motherboard
x2 2Gb Corsair DDR 800Mhz
Western Digital 500Gb Caviar Green
NZXT Apollo Black

#7 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 23/09/2009, 13:14

Isso você não precisa obter da query. Basta você criar uma variável e incrementar no loop, mostrando o seu valor.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#8 Helcio Macedo

Helcio Macedo

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Marilia-SP

Posted 23/09/2009, 18:30

vlw.. consegui fazer

criei a var
$count = 0;
e adicionei o
$count++;


Mais uma vez agradeço a ajuda de todos!!
E lá vou eu dnv!! ^^

Esta parte do Ranking está funcionando
<?php
		<table style="width: 100%" cellspacing="0" cellpadding="0" class="style36Rank">
			<tr>
				<td class="style57Rank" style="width: 51px; height: 12px;"><span class="style44Rank">
				<strong>Posição</strong></span>&nbsp;&nbsp; </td>
				<td class="style57Rank" style="width: 2px; height: 12px;"></td>
				<td class="style56Rank" style="width: 128px; height: 12px;"><strong>
				<span class="style44Rank">Guilda</span></strong></td>
				<td class="style55Rank" style="width: 55px; height: 12px;"><strong>Matou</strong></td>
				<td class="style54Rank" style="height: 12px"><strong>Morreu</strong></td>
			</tr>
<?php
$gvgsql = "SELECT *, kills - deaths as frag FROM gvg ORDER BY frag DESC;";
$gvgres = mysql_query($gvgsql);
if($gvgres) {
while ($gvg = mysql_fetch_array($gvgres)){
echo "<tr>
				<td class='style61Rank' style='width: 51px'>";
echo $count++;

echo "º</td>
				<td class='style61Rank' style='width: 2px'></td>
				<td class='style58Rank'>$gvg[name]</td>
				<td class='style61Rank' style='width: 55px'>$gvg[kills]</td>
				<td class='style61Rank'>$gvg[deaths]</td>
</tr>
";}} ?>
</table>

E esta parte não aparece nada
<table style="width: 100%" cellspacing="0" cellpadding="0" class="style36Rank">
			<tr>
				<td class="style57Rank" style="width: 51px; height: 12px;"><span class="style44Rank">
				<strong>Posição</strong></span>&nbsp;&nbsp; </td>
				<td class="style56Rank" style="width: 128px; height: 12px;">
				<strong>
				<span class="style44Rank">Character</span></strong></td>
				<td class="style62" style="height: 12px">
						<font face="Verdana" size="2" color="black">
						<span class="style44Rank">
						<strong>Zeny's</strong></span></font></td>
			</tr>
<?php
$zsql = "SELECT * FROM char ORDER BY zeny DESC LIMIT 10;";
$zres = mysql_query($zsql);
if($zres) {
while ($zeny = mysql_fetch_array($zres)){
echo "<tr>
				<td class='style61Rank' style='width: 51px'>";
echo $count++;

echo "º</td>
				<td class='style58Rank'>$zeny[name]</td>
				<td class='style61Rank'>$zeny[zeny]</td>

</tr>
";}} ?>
</table>

No topo da página eu coloquei:
<?php include_once("lg/cnn.php");
mysql_connect($host,$usuario,$senha) or die("Erro ao conectar no banco de dados");
mysql_select_db($banco_de_dados) or die("Erro ao selecionar o banco de dados");
$count = 1;
?>

Pode parecer um pouco estranho o método q estou inserindo o php na página.. é porque eu entendo mto de html e quase nada de php.. e o editor q eu uso não colore as tags nem mostra a edição visual em php.. então minhas página ficam em html e depois converto pra php e vou inserindo as funções
Intel Inside Core 2 Duo E8400 - 3.0Ghz - Wolfdale - 6MB L2 Cache - 1333FSB
XFX 9300 Motherboard
x2 2Gb Corsair DDR 800Mhz
Western Digital 500Gb Caviar Green
NZXT Apollo Black

#9 Helcio Macedo

Helcio Macedo

    Turista

  • Usuários
  • 32 posts
  • Sexo:Masculino
  • Localidade:Marilia-SP

Posted 26/09/2009, 19:00

Muito Obrigado a Todos..!!

Problema Resolvido!!


:D

Edição feita por: Helcio Macedo, 27/09/2009, 07:07.

Intel Inside Core 2 Duo E8400 - 3.0Ghz - Wolfdale - 6MB L2 Cache - 1333FSB
XFX 9300 Motherboard
x2 2Gb Corsair DDR 800Mhz
Western Digital 500Gb Caviar Green
NZXT Apollo Black




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq