Paginación de resultados Mysqli
Publicado por Juan Carlos (19 intervenciones) el 14/12/2016 11:55:25
Hola a todos, os explico mi problema a ver si por favor me podeis echar una mano.
Tengo una tabla de noticias a la que le he puesto que me muestre 1 resultado por página y tengo hecha una paginación que funciona perfectamente tipo:
Ant 1 2 3 4 5 6 7 8 9 10 11 12 13 14 , etc Sig
Lo que no sé es como hacer para generar una brecha después de varios adyacentes, es decir que apareciese la paginación de la siguiente manera:
Ant 1 2 3 4 5 ... 6 ... 125 Sig. (125 sería el último registro)
y que al pulsar en el 6 mostrara la paginación asi:
Ant. 1 ... 6 7 8 9 10 ... 11 125 Sig. (125 sería el último registro)
Este es el código que estoy utilizando para la consulta:
Y este el el de la paginación
Decir también que la pagina es de bootstrap.
Muchas gracias anticipadas por la ayuda !!!!!
Tengo una tabla de noticias a la que le he puesto que me muestre 1 resultado por página y tengo hecha una paginación que funciona perfectamente tipo:
Ant 1 2 3 4 5 6 7 8 9 10 11 12 13 14 , etc Sig
Lo que no sé es como hacer para generar una brecha después de varios adyacentes, es decir que apareciese la paginación de la siguiente manera:
Ant 1 2 3 4 5 ... 6 ... 125 Sig. (125 sería el último registro)
y que al pulsar en el 6 mostrara la paginación asi:
Ant. 1 ... 6 7 8 9 10 ... 11 125 Sig. (125 sería el último registro)
Este es el código que estoy utilizando para la consulta:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$Pagina = (isset($_GET['Pagina']) && !empty($_GET['Pagina']))?$_GET['Pagina']:1;
$per_page = 1; // 10 la cantidad de registros que desea mostrar
$adjacents = 2; //4 brecha entre páginas después de varios adyacentes
$offset = ($Pagina - 1) * $per_page;
//Cuenta el número total de filas de la tabla*/
$query_EXTRAE_REGISTROS = mysqli_query($conexion,"SELECT count(*) AS Id_noticia FROM noticias");
if ($row_EXTRAE_REGISTROS= mysqli_fetch_array($query_EXTRAE_REGISTROS)){$totalRows_EXTRAE_REGISTROS = $row_EXTRAE_REGISTROS['Id_noticia'];}
$Total_paginas = ceil($totalRows_EXTRAE_REGISTROS/$per_page);
//$reload = 'noticias.php';
//consulta principal para recuperar los datos
$EXTRAE_REGISTROS = mysqli_query($conexion,"SELECT Id_noticia, Titulo, Orden_producto, Fecha FROM noticias ORDER BY Fecha DESC LIMIT $offset,$per_page");?>
Y este el el de la paginación
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
for($i=1; $i<$Total_paginas+1; $i++)
if($_GET['Pagina'] == $i) // Es igual a la pagina que estoy lo resalto
{
echo '<li class=active><a href="?Pagina='.$i.'&Lugar='.$_GET['Lugar'].'">'.$i.'</a></li>';
}
else // No lo resalto
{
echo '<li><a href="?Pagina='.$i.'&Lugar='.$_GET['Lugar'].'">'.$i.'</a></li>';
}
?>
Decir también que la pagina es de bootstrap.
Muchas gracias anticipadas por la ayuda !!!!!
Valora esta pregunta


0