Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alan Alisson

[Resolvido] Adaptação de script (php)

Recommended Posts

Olá amigos !

 

Estou fazendo uma especie de ranking para um jogo Online...

 

e já fiz tudo a conexão a organização primeiro por pontos de kills e depois por dies, etc...

 

mas agora preciso do mais importante setar as posições pensei em usar um:

<?php for($i=0;$i<mysql_num_rows($sql);$i++) {
$posi = $i+1;
} ?>

e depois puxar no rank:

<?php echo $posi; ?>

mas como estou usando um while acho que ta tendo algum conflito.

 

olhem todo o script:

<?php $sql = ("SELECT * FROM pvpm_data order by kills DESC, dies ASC");
 $qr = mysql_query($sql);
for($i=0;$i<mysql_num_rows($qr);$i++) {
$posi = $i+1;
 while($exibir = mysql_fetch_array($qr))
 {
 echo "<tr><?php echo $posi; ?>
              <td bgcolor=\"#E0F9D5\" class=\"textobody\" align=\"center\">".$exibir[1]."</td>
              <td bgcolor=\"#E0F9D5\" class=\"rankmatou\" align=\"center\">".$exibir[2]."</td>
              <td bgcolor=\"#E0F9D5\" class=\"rankmatou\" align=\"center\">".$exibir[3]."</td>
            </tr>";
 }
?>

Se alguem achar o erro me ajuda por favor!

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. Dentro do echo não precisa de <?php e ?>

2. Não fechou as chaves corretamente. (falta fechar o for)

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. Dentro do echo não precisa de <?php e ?>

2. Não fechou as chaves corretamente. (falta fechar o for)

 

Verdade é ue montei o script acima aqui no bbcode xD agora está certo:

<?php 
include('config_rank.php');

 $sql = ("SELECT * FROM pvpm_data order by kills DESC, dies ASC");
 $qr = mysql_query($sql);
 for($i=0;$i<mysql_num_rows($qr);$i++) {
 $rank = $i+1;
 while($exibir = mysql_fetch_array($qr))
 {
 echo "<tr>".$rank."
              <td bgcolor=\"#E0F9D5\" class=\"textobody\" align=\"center\">".$exibir[1]."</td>
              <td bgcolor=\"#E0F9D5\" class=\"rankmatou\" align=\"center\">".$exibir[2]."</td>
              <td bgcolor=\"#E0F9D5\" class=\"rankmatou\" align=\"center\">".$exibir[3]."</td>
            </tr>";
 }
}
?>

a a img do erro que era pra mostrar 123456789 mas ta mostrando 1111111111:

Obs: ta lado a lado pq quero fazer funcionar antes de organizar.

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só tirar o while do for não adianta, ele vai exibir o último $rank para todos.

Pra que o contador no for? não tem sentido...

Faça o contador direto no while, para cada linha ele já pega a posição e tira esse for do script.

 

while(...)
{
  $rank += 1;
  echo(...);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só tirar o while do for não adianta, ele vai exibir o último $rank para todos.

Pra que o contador no for? não tem sentido...

Faça o contador direto no while, para cada linha ele já pega a posição e tira esse for do script.

 

while(...)
{
  $rank += 1;
  echo(...);
}

RESOLVIDO!

 

Skyo, ficou assim:

<?php 
include('config_rank.php');

 $sql = ("SELECT * FROM pvpm_data order by kills DESC, dies ASC");
 $qr = mysql_query($sql);

 while($exibir = mysql_fetch_array($qr))
 { $rank +=1;
 echo "<tr>
			<td align=\"center\" bgcolor=\"#E0F9D5\" class=\"textobody\">".$rank."</td>
              <td bgcolor=\"#E0F9D5\" class=\"textobody\" align=\"center\">".$exibir[1]."</td>
              <td bgcolor=\"#E0F9D5\" class=\"rankmatou\" align=\"center\">".$exibir[2]."</td>
              <td bgcolor=\"#E0F9D5\" class=\"rankmatou\" align=\"center\">".$exibir[3]."</td>
            </tr>";
 }

?>

OBRIGADO!

 

Mas você pode me explicar isso: $rank +=1

 

sei que isso dentro do while vai somar 1 a cada vez que um dado novo for puxado da tabela mas pq o +=? (pergunta confusa ne http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif)

 

Obrigado mais uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe você já respondeu a sua pergunta, seria igual:

$rank = $rank + 1;
que bom que deu certo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.