..
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:

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.
| |
Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €. |
| |
MySQL (Curso)
Gestión de base de datos de código abierto. A partir de 39 €. |
| |
PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €. |