Ir para conteúdo
Fórum Script Brasil
  • 0

Paginacao


Guest Killer

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

O segredo na paginacaum em é dividir o total de linhas retornadas em busca pela quantidade de registros exibidos por páginas.

Eu peguei esse codigo na net e adaptei a minha página. Pelos testes que fiz, funcionou perfeitamente. Vê se serve?

$TotLinhas= odbc_num_rows($Resultado);

$TotPaginas=ceil($TotLinhas/Lp);/* Lp seria uma constante que define a quantidade de linhas exibidas por página*/

Esse codigo acima pega o total de páginas disponiveis.

Agora o codigo abaixo exibe os links

                  <?if ($TotPaginas>0){

                      echo "<p align='center' style='word-spacing: 0; line-height: 120%; margin: 0'><font size='2' face='Arial' color='#000080'>Páginas disponíveis</font></p><p align='center' style='word-spacing: 0; line-height: 100%; margin: 0'>";

                      for ($Aux=1;$Aux<=$TotPaginas;$Aux++){

                          if ($_GET["Pag"]==$Aux)

                            echo "<font size=2' face='Arial' color='#000080'><b>".$Aux."</b></font>";

                          else

                            echo "<a Href='resultado.php?Nestacat=".$_GET["Nestacat]."&Pag=".$_GET["Pag"]."&p=.$_GET["p]."&Palavras=".$_GET["Palavras"]."&Exata=.$_GET["Exata]."'><font size='2' face='Arial' color='#000080'>".$Aux."</font></a>";

                      }

                    }?>

Eu aprendi essa paginacao acima desse codigo:

Tutoriais

Como fazer Paginação de resultados?

Neste tutorial iremos aprender a fazer paginação.

Parte 1

Primeiramente vamos executar uma query no mysql.

$sql = mysql_query("SELECT * FROM tabela");

Esta query irá retornar o valor total da tabela.

Vamos então fazer a paginação.

$lpp = 10; // Especifique quantos resultados você quer por página

$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela

$paginas = ceil($total / $lpp); // Retorna o total de páginas

if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada

$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL

$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

Agora iremos fazer o loop para que liste os resultados:

while($l = mysql_fetch_array($sql)) {

  echo "Resultado...

n";

}

Pronto.

Parte 2

Agora iremos fazer com que o PHP gere os links das páginas:

if($pagina > 0) {

  $menos = $pagina - 1;

  $url = "$PHP_SELF?pagina=$menos";

  echo "<a href="$url">Anterior</a>"; // Vai para a página anterior

}

for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas

  $url = "$PHP_SELF?pagina=$i";

  echo " | <a href="$url">$i</a>";

}

if($pagina < $paginas) {

  $mais = $pagina + 1;

  $url = "$PHP_SELF?pagina=$mais";

  echo " | <a href="$url">Próxima</a>";

}

Pronto. Veremos como fica o script inteiro:

<?

$sql = mysql_query("SELECT * FROM tabela");

$lpp = 10; // Especifique quantos resultados você quer por página

$total = mysql_num_rows($sql); // Esta função irá retornar o total de linhas na tabela

$paginas = ceil($total / $lpp); // Retorna o total de páginas

if(!isset($pagina)) { $pagina = 0; } // Especifica uma valor para variavel pagina caso a mesma não esteja setada

$inicio = $pagina * $lpp; // Retorna qual será a primeira linha a ser mostrada no MySQL

$sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $lpp"); // Executa a query no MySQL com o limite de linhas.

while($l = mysql_fetch_array($sql)) {

  echo "Resultado...

n";

}

if($pagina > 0) {

  $menos = $pagina - 1;

  $url = "$PHP_SELF?pagina=$menos";

  echo "<a href="$url">Anterior</a>"; // Vai para a página anterior

}

for($i=0;$i<$paginas;$i++) { // Gera um loop com o link para as páginas

  $url = "$PHP_SELF?pagina=$i";

  echo " | <a href="$url">$i</a>";

}

if($pagina < ($paginas - 1)) {

  $mais = $pagina + 1;

  $url = "$PHP_SELF?pagina=$mais";

  echo " | <a href="$url">Próxima</a>";

}

?>

Espero ter ajudado...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...