Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
oiee pessoal...
eu tenho um ranking que funciona perfeitamente... ele lista todos os usuarios cadastrados e ordena por nivel...
agora eu preciso colocar antes dessa tebela do ranking a posição do jogador.. ficaria mais ou menos assim:
Você esta em 1520º lugar no ranking geral:
----------------------------------------
posição | Nome | Lvl | Personagem|
----------------------------------------
1º | nome1 | 100 | Char 1 |
----------------------------------------
2º | nome2 | 99 | Char 5 |
----------------------------------------
3º | nome3 | 98 | Char 1 |
----------------------------------------
...
----------------------------------------
1520º | 1520 | 2 | Char 1 |
----------------------------------------
entenderam?
agradeço.. vlw :ermm:
mann no ta dando certo no...
olha como eh o meu codigo:
<table width="100%" border="0" background="images/brancot.png">
<tr>
<th width="10%"><span class="titl"><b>Rank</b>
</td>
</span>
<th width="30%"><span class="titl"><b>Domador</b>
</td>
</span>
<th width="20%"><span class="titl"><b>Digimon</b>
</td>
</span>
<th width="10%"><span class="titl"><b>Nivel</b>
</td>
</span>
<th width="30%"><span class="titl"><b>Evolução</b>
</td>
</span>
<th width="20%" class="titl"><b>Digimon</b>
</td>
</tr>
<?php
$query = $db->execute("select `id`, `username`, `nome_digimon`, `level`, `evolucao`, `digimon` from `players` order by `level` desc limit ?,?", array($begin, $limit));
while($member = $query->fetchrow())
{$i++;
echo "<tr>\n";
echo "<td>\n";
echo "$i °\n";
echo "</td>\n";
echo "<td>\n";
echo ($member['username'] == $player->username)?"<b>":"";
echo $member['username'];
echo ($member['username'] == $player->username)?"</b>":"";
echo "</td>\n";
echo "<td>\n";
echo ($member['nome_digimon'] == $player->nome_digimon)?"<b>":"";
echo $member['nome_digimon'];
echo ($member['nome_digimon'] == $player->nome_digimon)?"</b>":"";
echo "</td>\n";
echo "<td>" . $member['level'] . "</td>\n";
echo "<td>" . $member['evolucao'] . "</td>\n";
echo "<td><img src='images/rak/" . $member['digimon'] . ".jpg'></td>\n";
echo "</tr>\n";
}
?>
</table>cadê a inicialização da variavel ?
Reveja meu post.
mann eu ainda to aprendendo php... o codigo completo da minha pagina eh essa:
a variavel deve ser esse inicio aqui neh??:
<?php
include("lib.php");
define("PAGENAME", "Ranking");
$player = check_user($secret_key, $db);
$limit = (!$_GET['limit'])?100:intval($_GET['limit']);
$begin = (!$_GET['begin'])?$player->id-intval($limit / 2):intval($_GET['begin']);
$begin = ($begin < 0)?0:$begin;
$total_players = $db->getone("select count(ID) as `count` from `players`");
$begin = ($begin >= $total_players)?$total_players - $limit:$begin;
$begin = ($begin < 0)?0:$begin;
$lastpage = (($total_players - $limit) < 0)?0:$total_players - $limit;
include("templates/private_header.php");
?>
<style type="text/css">
.titl {
font-family: "Courier New", Courier, monospace;
}
.titl b {
font-family: "Comic Sans MS", cursive;
font-size:16px;
}
</style>
<table width="500" border="0" align="center" background="images/ranking.png" style="background-repeat:no-repeat; font-family: 'Courier New', Courier, monospace; font-weight: bold; font-size: 18px;">
<tr>
<td width="96" height="107"> </td>
<td width="394" rowspan="2" align="center" valign="middle"><p> </p>
<p> </p>
<p>Lista dos melhores domadores</p>
<p>de digimons do jogo</p></td>
</tr>
<tr>
<td height="62"> </td>
</tr>
</table>
<br /><br /><br />
<table width="100%" border="0" background="images/brancot.png">
<tr>
<th width="10%"><span class="titl"><b>Rank</b>
</td>
</span>
<th width="30%"><span class="titl"><b>Domador</b>
</td>
</span>
<th width="20%"><span class="titl"><b>Digimon</b>
</td>
</span>
<th width="10%"><span class="titl"><b>Nivel</b>
</td>
</span>
<th width="30%"><span class="titl"><b>Evolução</b>
</td>
</span>
<th width="20%" class="titl"><b>Digimon</b>
</td>
</tr>
<?php
$query = $db->execute("select `id`, `username`, `nome_digimon`, `level`, `evolucao`, `digimon` from `players` order by `level` desc limit ?,?", array($begin, $limit));
while($member = $query->fetchrow())
{$i++;
echo "<tr>\n";
echo "<td>\n";
echo "$i °\n";
echo "</td>\n";
echo "<td>\n";
echo ($member['username'] == $player->username)?"<b>":"";
echo $member['username'];
echo ($member['username'] == $player->username)?"</b>":"";
echo "</td>\n";
echo "<td>\n";
echo ($member['nome_digimon'] == $player->nome_digimon)?"<b>":"";
echo $member['nome_digimon'];
echo ($member['nome_digimon'] == $player->nome_digimon)?"</b>":"";
echo "</td>\n";
echo "<td>" . $member['level'] . "</td>\n";
echo "<td>" . $member['evolucao'] . "</td>\n";
echo "<td><img src='images/rak/" . $member['digimon'] . ".jpg'></td>\n";
echo "</tr>\n";
}
?>
</table>
<?php
include("templates/private_footer.php");
?>amigo, num importa o código completo.
veja:
$i = 1;
while($member = $query->fetchrow())
{
$i++;
entendeu? o teu erro foi conceitual.
não aprenda php, aprenda a programar. Estude lógica, e programação básica, isso é independente de linguagem.
mas quando eu coloco isso :
$i = 1;
while($member = $query->fetchrow())
{
$i++;
o ranking começa do 2º nunca começa do 1º
ou seja se o player estiver em 1º lugar no ranking ele mostra em 2º
tendeu??
vou tentar esse codigo pra ver:
$i = 0;
while($member = $query->fetchrow())
{
$i++;
^^ eu sabia que isso ia acontecer.
você não prestou muita atenção no meu código ne?!
eu coloquei o $i++ depois do echo.
isso faz diferença. Vai testando ai, que você aprende.
:lol: OK a contagem ta dando certo agora.. mas nessa linha
echo $i.$nome_do_jogador
o que eu tenho que colocar em $nome_do_jogador?
pk eu tentei alguns aqui... mas ele lista todos os usuarios...
essa linha foi um pseudo código.
apenas de exemplo auto explicativo.
se já tá em ordem, essa posição é um contador $i arbitrário.
$i = 1;
while( $dados ... ){