Ir para conteúdo

Rank De Level(sql) - Simples


Nostradamus

Posts Recomendados

Postarei aqui um rank de level bem simples, e com ele, você poderá fazer os ranks de magic level, etc.

 

Explicação nos comentários.

 

<?
// Conecta ao banco de dados
$con = mysql_pconnect('localhost','root',''); // host, usuário, senha
mysql_select_db('otservs'); // banco de dados


// Numero de players a serem exibidos por páginas
$num_por_pagina = 10;

// Para saber o número da página a ser exibida
// se o numero da página não for informado, definie como 1
if (!$pagina) {
  $pagina = 1;
}


// Constrói uma cláusula SQL "SELECT" que nos retorne somente os registros desejados
// Define o número do primeiro registro da página. 
$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;

// Consulta apenas os registros da página em questão utilizando como auxílio a definição LIMIT. Ordene os registros pela experiencia, começando do maior para o menor DESC.
$consulta = "SELECT name, level, experience FROM players ORDER BY experience DESC LIMIT $primeiro_registro, $num_por_pagina";
// executar query
$res = mysql_query($consulta,$con);


// Exibe os registros na tela
echo "<ul>"; while (list($nome, $level, $exp) = mysql_fetch_array($res)) {
echo "<li> $nome - $level - $exp";
}
echo "</ul>";


// Faz o painel de navegação
$consulta = "SELECT COUNT(*) FROM players";
list($total_usuarios) = mysql_fetch_array(mysql_query($consulta,$con));

$total_paginas = $total_usuarios/$num_por_pagina;

$prev = $pagina - 1;
$next = $pagina + 1;
// se página maior que 1 (um), então temos link para a página anterior
if ($pagina > 1) {
$prev_link = "<a href=\"$PHP_SELF?pagina=$prev\">Anterior</a>";
} else { // senão não há link para a página anterior
$prev_link = "Anterior";
}

// se número total de páginas for maior que a página corrente, então temos link para a próxima página
if ($total_paginas > $pagina) {
$next_link = "<a href=\"$PHP_SELF?pagina=$next\">Próxima";
} else { // senão não há link para a próxima página
$next_link = "Próxima";
}

// vamos arredondar para o alto o número de páginas que serão necessárias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por página, nossa variável $total_paginas será igual a 20/6, que resultará em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 páginas (0.33), será necessária a quarta página. Logo, sempre devemos arredondar uma fração de número real para um inteiro de cima e isto é feito com a função ceil().
$total_paginas = ceil($total_paginas);
$painel = "";
for ($x=1; $x<=$total_paginas; $x++) {
 if ($x==$pagina) { // se estivermos na página corrente, não exibir o link para visualização desta página
   $painel .= " [$x] ";
 } else {
   $painel .= " <a href=\"$PHP_SELF?pagina=$x\">[$x]</a>";
 }
}


// exibir painel na tela
echo "$prev_link | $painel | $next_link";
?>

 

Espero que aproveitem bastante.

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 1 year later...
  • 5 months later...
  • 1 month later...
  • 3 weeks later...

Oba meu amigo tem um otserv que é executado em sql nos arquivo .s3db

Eu queria pegar as informações de rank ultimas morter e jogar para meu site q é hospedado.

Alguem teria o modelo e poderia me ensinar a como fazer a pagina a pegar as informaçoes do ot e envia para meu site

Desde já vlw

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

aew no meu servidor tem um programa chamado DataBase aonde fica accounts e players como eu coloco ele no site para o site ler a pasta accounts e players e rodar pq ja baixei um monte de sites e não consigo por a maioria é XML e precizo de um SQL mais quero saber como abilitar isso

Link para o comentário
Compartilhar em outros sites

Olha tb comecei aprender Sql. agora.

d xml eu ja era "PRO" mas como tava parado com ot fazia 2anos.

voltei agora e ja estou por dentro de algumas coisas em sql. ja abri meu ot em sql. tal

tou aprendendo agora sobre sites sql.

mas nao tou fragando mto bem mas esse script vai me ajudar bastante pois vou fazer um site leve. apenas com rank. e informaçoes.

vou continuar com acc manager ^^

brigado ae

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 9 months later...
×
×
  • Criar Novo...