Paginação simples com PHP
Publicado por Perfil removido (última atualização em 22/11/2013)
[ Hits: 15.783 ]
Em um só script, você pode utilizar dois formatos de paginação. Script muito útil para entender como paginar registros.
Tem nos comentários do código uma explicação para melhor entendimento.
<?php /*SCRIPT SIMPLES DE PAGINAÇÃO*/ /*EStabelendo conexão com base de dados paises no servidor local*/ $server = "localhost"; $user = "root"; $pass = ""; $db = "paises"; $conn = mysql_connect($server,$user,$pass); mysql_select_db($db,$conn); $total = mysql_query("SELECT count(*) as qtd from paises"); /*Se encontrou o total*/ if($t = mysql_fetch_assoc($total)){ // Total de regstros $n = $t['qtd']; // Limite máximo de registros por página $limite = 10; /* * A função round basicamente retorna, caso o número seja quebrado, o menor valor inteiro * Retorna Quantidade de páginas, que é basicamente, a quantidade de agrupamentos possíveis com o total de registros que temos * Esta quantidade é obtida dividindo-se o total de registros pelo limite por página * */ $paginas = round($n/$limite); /*Caso, na requisição, nenhuma página for especificada, será usada o valor padrão 1. Ou seja, obrigatoriamente estará na primeira página*/ $pagina = empty($_REQUEST['pagina'])?1:$_REQUEST['pagina']; /*Com base na página, é definido o registro de início para fazer a consulta*/ $inicio = $pagina * $limite; $sql = "SELECT * from paises limit $inicio,$limite"; /*Fazendo a consulta */ $dados = mysql_query($sql); /*Montando a apresentação*/ $saida = "<html><head><title>SCRIPT DE TESTE</title></head><body>"; $saida .= "<table border='1'><tr><th colspan='2'>PAÍS</th></tr>"; /*Percorrendo todos os registros*/ while($d = mysql_fetch_assoc($dados)){ $saida .="<tr ><td colspan='2'>".$d['nome']."</td></tr>"; } $saida .= "<tr>"; /*INcluindo paginação simples: Se houver próxima,, exibirá o link Próxima. Se houver página anterior, exibirá Anterior. Sendo assim, os dois links não são exibidos na primeira e nem na ultima página*/ /*-----------------------------------RODAPÉ---------------------------------*/ /* * Caso a página atual não seja 1, mas um valor menor, aparecerá o link para a página anterior * */ /*Caso a página não tenha chegado na última, haverá um link para a próxima página*/ if($pagina-1 > 0){ $saida .= "<td><a href='?pagina=".($pagina - 1 )."'>Anterior</a></td>"; }else{ $saida .= "<td>Está na primeira</td>"; } if($pagina < $paginas){ $saida .= "<td><a href='?pagina=".( $pagina + 1) ."'>Próxima</a></td>"; }else{ $saida .= "<td>Está na última</td>"; } /*-----------------------------------FECHANDO O RODAPÉ---------------------------------*/ /* * Caso voçê queira uma paginação diferente, tipo, em que o usuário pode selecionar uma determinada página diretamente, é só comentar o trecho do rodapé acima e descomentar o trecho abaixo * */ /*-----------------------------------RODAPÉ---------------------------------*/ /*$saida .= "<td colspan='2'>"; for($x=1;$x<=$paginas;$x++){ $saida .= ($pagina == $x?" <b> ":" ")."<a href ='?pagina=$x'>".$x."</a>".($pagina == $x?" </b> ":" "); } $saida .= "</td>";*/ /*-----------------------------------FECHANDO O RODAPÉ---------------------------------*/ $saida .= "</tr>"; $saida .= "</table></body></html>"; } echo $saida;
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)