Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Código para paginação de dados do BD

20-02-2007 20:59

Abaixo vou passar um código detalhado de uma simples consulta e paginação dos dados de um bd, o script é baseado em uma tabela que tem os campos: id, nome e e-mail, mas, você pode adicionar mais campos conforme desejado.
Os dados estão em ordem pelo nome e em ordem crescente:

<table border=0> <tr> <td>campo</td> </tr> <?php $dbhost="localhost"; /* servidor */ $dbuser="login"; /* usuário do banco de dados */ $dbpasswd="senha"; /* senha do banco de dados */ $dbname="bancodedados"; /* nome do banco de dados */ /* abaixo abrimos a conexão com os dados acima */ $conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("não foi possível a conexão, verifique os dados."); $db = @mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname."); /* nome da tabela onde está os nosso valores */ $tabela="nomedatabela"; /* pegamos todos os dados da tabela ordenando em ordem crescente por nome */ $sql=mysql_query("SELECT * FROM $tabela ORDER BY nome ASC"); $total=mysql_num_rows($sql); /* declaração da página inicial */ if($_GET['pagina']=="") { $pagina="1"; } else { $pagina=$_GET['pagina']; } /* quantos registros por página */ $maximo="10"; /* calcula o registro inicial */ $inicio=$pagina-1; $inicio=$maximo*$inicio; /* base do script */ $query=mysql_query("SELECT * FROM $tabela ORDER BY nome ASC LIMIT $inicio,$maximo"); /* início da mostragem de dados */ while($dados=mysql_fetch_array($query)) { ?> <?php echo "<tr>"; echo "<td>".$dados['campodatabela']."</td>"; echo "</tr>"; ?> <?php } ?> </table> <?php /* calcula a página anterior */ $menos=$pagina-1; /* calcula a página posterior */ $mais=$pagina+1; /* calculo da mostragem das páginas */ $p_ini=$mais-1; $p_ini=$maximo*$p_ini; /* início da mostragem das páginas */ $p_query=mysql_query("SELECT * FROM $tabela ORDER BY nome ASC LIMIT $p_ini,$maximo"); $p_total=mysql_num_rows($p_query); /* mostragem do página anterior e posterior */ if($menos>0) { echo "<a href=\"?pagina=$menos\">anterior(es)</a> "; } if($p_total>0) { echo "<a href=\"?pagina=$mais\">proxima(s)</a>"; } ?> <?php /* resumo do armazenado no bd */ print <<< HERE <center> Existe $total dados nesse bd. <br> Estamos mostrando $maximo por página. </center> HERE; ?> <?php mysql_close($conexao); ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado