..


Links Patrocinados

Paginação de dados de um db MySQL

Artigo escrito por Max Bossi

Tanto em nosso guia para PHP , que em artigos anteriores dedicados à linguagem, já vimos como explorar de várias maneiras a combinação vencedora PHP / MySQL.

Especificamente já vimos como extrair os dados do DB, mas nós temos "esquecido" para resolver um "problema" é muito comum, a saber: quando os registros no banco de dados são particularmente numerosas, como você pode dividi-los em várias páginas?

(O artigo continua abaixo ...)

Neste artigo, na verdade, vamos ver como fazer a paginação de uma grande quantidade de dados dentro de uma determinada tabela em nosso banco de dados.
Vamos dar um exemplo: digamos que você tenha uma tabela chamada agenda consiste em apenas três campos: nome id, e telefone, e dizer que esta tabela é preenchida com 100 registros:

Como você pode imaginar que seria impraticável querer extrair todos os cem registros em uma única página, muito mais confortável seria para removê-los dividindo-os em várias páginas com um monte de registros cada.
Para isso, usamos um recurso útil função LIMIT MySQL nativa que nos permite determinar com precisão quantos e quais registros para selecionar. Para fazer o seu limite de trabalho requer dois parâmetros: o registro de partida eo número de registros para recuperar.

Vamos ver um exemplo prático:






 <?







 / / Cria uma variável que define o número de registros

 





 / / Para exibir em cada página







 $ X_pag = 5;









 / / Recuperar o número da página atual.







 / / Geralmente você usar uma querystring







 $ Page = $ _GET ['page'];









 / / Verifica se $ page é melhor ...







 / / ... Caso contrário, eu atribuir o valor 1







 if ($ page) $ page = 1;

 







 / / Me conectar ao banco de dados







 $ Conn = mysql_connect ("localhost", "user", "password");







 mysql_select_db ("db_name", $ conn);









 / / Use mysql_num_rows para contar as linhas em







 / / Na mesa Agenda







 $ All_rows = mysql_num_rows (mysql_query ("SELECT id FROM agenda"));









 / / Usando uma chamada simples operação matemática







 / / O número total de páginas







 All_pages = ceil $ ($ all_rows / $ x_pag);









 / Cálculo / de qual registro para começar







 $ Primeiro = ($ page - 1) * $ x_pag;









 / / Recuperar os registros para a página atual ...







 / / Para utilizar LIMIT $ de primeira e contar até $ x_pag







 $ Rs = mysql_query ("SELECT * FROM agenda LIMIT $ primeiro, $ x_pag");







 Não mysql_num_rows $ = ($ rs);







 if ($ number = 0) {



  



 for ($ x = 0; $ x <$ n, $ x + +) {



    



 $ Row = mysql_fetch_assoc ($ rs);



    



 echo "<table> <tr>";



    



 echo "<td>".

 



 $ Row ['id'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['name'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Row ['telefone'].

 



 "</ Td>";



    



 echo "</ tr> </ table>";



  



 }







 Else {}



  



 echo "Nenhum registro encontrado!"







 }









 / / Se o total de páginas são mais do que um ...







 / Mold / o link para ir e voltar entre páginas diferentes!







 if ($ all_pages> 1) {



  



 if ($ page> 1) {



    



 echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag-1. "\">";



    





  



 }

 

  



 if ($ all_pages> $ page) {



    



 echo "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". $pag + "\"> 1.";



    



 echo "Próxima Página </ a>";



  



 }

 





 }









 / / Conexão com Close to DB







 mysql_close ($ conn);







 ?>



O código está bem comentado e, portanto, não acho que há uma necessidade de maiores explicações.

Na mesma categoria ...
E-Learning
Curso de Linux Curso de Linux
Guia completo para open-source do sistema. -10% De desconto até 2012/06/01.
Curso de MySQL Curso de MySQL
Gestão de banco de dados open-source. -15% Desconto até 2012/06/01.
Curso de PHP Curso de PHP
Curso completo para a criação de sites dinâmicos. Desconto de 5% até 2012/06/01.
Links Patrocinados