Paginación PHP
-
Utilice la cláusula
LIMIT
con la instrucciónSELECT
enSQL
para paginar las filas en PHP -
Agregue la función de navegación
Previous
yNext
en la paginación en PHP
Este artículo presentará un método para realizar la paginación en PHP usando la cláusula LIMIT
con la instrucción SELECT
en SQL
. Usaremos la cláusula LIMIT
para seleccionar el número específico de filas a partir de un índice en particular para mostrarlas como paginación.
También demostraremos otro método para agregar la función de navegación Previous
y Next
en la paginación PHP. Este método solo agrega la función adicional para navegar por las páginas correspondientes al primer método.
Utilice la cláusula LIMIT
con la instrucción SELECT
en SQL
para paginar las filas en PHP
Podemos usar la cláusula LIMIT
con la declaración SELECT
para especificar los primeros n resultados que se mostrarán en una página. Podemos proporcionar el número de página en la etiqueta anchor
como método GET
para navegar por las páginas. En este método, definimos el número de filas que se mostrarán por página y recuperamos todas las filas de la base de datos para calcular el número total de páginas necesarias. Podemos usar el array $_GET
con la función isset()
para obtener el número de página solicitado por el usuario.
Por ejemplo, cree una variable $results_per_page
y almacene 2
en ella. Utilice la función mysqli_num_rows()
para encontrar el número de filas en la base de datos y almacenar en la variable $number_of_results
. Utilice la función ceil()
para determinar el número total de páginas necesarias para mostrar las filas. Divida la variable $number_of_results
por la variable $results_per_page
dentro de la función ceil()
. Utilice la variable superglobal $_GET
con la función isset()
para comprobar si se ha establecido la variable page
. Si no se ha configurado, configure la variable page
en 1
. Si se ha establecido la variable, asigne el valor a la variable $page
. Reste la variable page
por 1
y multiplíquela por la variable $this_page_first_result
. Almacene la operación en la variable $this_page_first_result
. Escriba una declaración SQL
con la cláusula ## Utilice la cláusula LIMIT
con la instrucción SELECT
en SQL
para paginar las filas en PHP. Ejecute la consulta y muestre los resultados. Al final, cree un bucle for
para recorrer la variable page
y $number_of_page
. Dentro del bucle, haga e echo
e la etiqueta anchor
y escriba el valor del atributo href
como index.php?page'.$page
. Entre las etiquetas anchor
escriba la variable page
.
En el siguiente ejemplo, la tabla alpha
de la base de datos contiene seis filas. Después de realizar la paginación, se muestran dos filas por página. La función ceil()
determina el número total de páginas necesarias para mostrar las filas. Inicialmente, la variable $page
no está establecida, por lo que la página comienza desde la página 1. La variable $this_page_first_result
determina el número de página en el que se encuentra el usuario. Las variables $this_page_first_result
denotan la primera fila de la página. La variable $results_per_page
denota el número de resultados por página. La sección de salida muestra la página index.php
. Cuando se hace clic en la página 2
, genera las siguientes dos filas de la base de datos.
Código de ejemplo:
#php 7.x
<?php
$number_of_pages = ceil($number_of_results/$results_per_page);
if (!isset($_GET['page'])) {
$page = 1;
} else {
$page = $_GET['page'];
}
$this_page_first_result = ($page-1)*$results_per_page;
$sql='SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page;
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)) {
echo $row['id'] . ' ' . $row['value']. '<br>';
}
for ($page=1;$page<=$number_of_pages;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
?>
Producción :
1 A
2 B
1 2 3
Agregue la función de navegación Previous
y Next
en la paginación en PHP
Podemos agregar algunos fragmentos de código adicionales al ejemplo de código en el primer método para proporcionar la función de navegación Previous
y Next
en la paginación. Podemos incrementar y disminuir la variable $page
en 1 para apuntar a la página anterior y siguiente. Podemos usar las variables incrementadas y decrementadas en la etiqueta anchor
para lograr las características Next
y Previous
.
Por ejemplo, cree dos variables, $prev
y $next
. Reste la variable $page
con uno y asigne la operación a la variable $prev
. Del mismo modo, agregue uno a la variable $page
y asígnelo a la variable $next
. Haga eco de una etiqueta anchor
que diga Previous
justo antes del bucle for
de los números de página. Escriba el valor index.php?page=' . $prev .
en el atributo href
de la etiqueta anchor
. De la misma manera, cree otra etiqueta anchor
para Next
utilizando la variable $next
como valor de page
en el atributo href
.
En la sección de salida a continuación, muestra la segunda página. Al hacer clic en Previous
lleva a la primera página y hace clic en Next
, lo lleva a la tercera página.
Código de ejemplo:
# php 7.x
<?php
$prev = $page -1;
$next = $page +1;
echo ' <a href="index.php?page=' . $prev . '"> Previous </a> ';
for ($page=1;$page<=$number_of_pages;$page++) {
echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
echo ' <a href="index.php?page=' . $next . '"> Next </a> ';
?>
Producción :
3 C
4 D
Previous 1 2 3 Next
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn