..


Enlaces patrocinados

La paginación de los datos de una base de datos mysql

Artículo escrito por Max Bossi

Tanto en nuestra guía para PHP , que en anteriores artículos dedicados al lenguaje, ya hemos visto cómo explotar de varias formas la combinación ganadora PHP / MySQL.

En concreto ya hemos visto cómo extraer los datos de la base de datos, pero hemos "olvidado" para hacer frente a un "problema" es muy común, a saber: cuando los registros de la base de datos son los más numerosos, ya que se pueden dividir en varias páginas?

En este artículo, de hecho, vamos a ver cómo hacer que la paginación de una gran cantidad de datos dentro de un cuadro que figura en nuestra base de datos.
Veamos un ejemplo: digamos que usted tiene una tabla llamada agenda sólo consta de tres campos: número de identificación, nombre y teléfono, y decir que esta tabla se llena con 100 registros:

Como se puede imaginar lo que sería poco práctico desea extraer todos los cien discos en una única página, mucho más cómoda sería la de eliminar dividiéndolos en varias páginas con un montón de discos cada uno.
Para ello, usamos una característica muy útil función nativa de MySQL LIMIT que nos permite determinar con precisión cuántos y cuáles registros para seleccionar. Para hacer su límite de trabajos requiere dos parámetros: el registro de salida y el número de registros a recuperar.

Veamos un ejemplo práctico:






 <?







 / / Se crea una variable que establece el número de registros

 





 / / Para mostrar en cada página







 $ X_pag = 5;









 / / Recuperar el número de página actual.







 / / Por lo general se utiliza una cadena de consulta







 $ Page = $ _GET ['page'];









 / / Comprobar si se ha mejorado la página $ ...







 / / ... De lo contrario, se asigna el valor 1







 if ($ page) $ page = 1;

 







 / / Me conecto a la base de datos







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







 mysql_select_db ("db_name", $ conexion);









 / / Use mysql_num_rows para contar las filas de







 / / En el Programa de la tabla







 $ ALL_ROWS = mysql_num_rows (mysql_query ("SELECT id de la agenda"));









 / / Con una simple llamada operación matemática







 / / El número total de páginas







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









 / / Cálculo de las cuales comenzar a grabar







 En primer lugar $ = ($ page - 1) * $ x_pag;









 / / Recuperar los registros de la página actual ...







 / / Para usar LIMIT $ desde el principio y contamos hasta $ x_pag







 $ Rs = mysql_query ("SELECT * FROM LÍMITE calendario primeros $, $ x_pag");







 $ No mysql_num_rows = ($ rs);







 if ($ numero! = 0) {



  



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



    



 $ Fila = mysql_fetch_assoc ($ rs);



    



 echo "<table> <tr>";



    



 echo "<td>".

 



 $ Fila ['id'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Fila ['nombre'].

 



 "</ Td>";



    



 echo "<td>".

 



 $ Fila ['teléfono'].

 



 "</ Td>";



    



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



  



 }







 Else {}



  



 echo "No se encontraron registros!"







 }









 / / Si el total de páginas son más de 1 ...







 / / Se moldea el enlace para ir y venir entre diferentes páginas!







 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 "Página siguiente </ a>";



  



 }

 





 }









 / / Cierra la conexión con DB







 mysql_close ($ conexion);







 >



El código está bien comentado y, por tanto, no creo que haya una necesidad de más explicaciones.

En la misma categoría ...
E-Learning
Linux (Curso) Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €.
MySQL (Curso) MySQL (Curso)
Gestión de base de datos de código abierto. A partir de 39 €.
PHP (Curso) PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €.
Enlaces patrocinados