Hola a todos, tengo el siguiente código el cual me permite dividir el total de resultados de mi consulta, en paginas de 10 registros cada una... todo bien hasta aca... solo al momento de hacer la paginación como puedo hacer para que siguiente>> sea dinámico es decir no la pagina 8 sino la que corresponda si estoy en la 9 al dar clic en siguiente me mande a la 10 ... Desde ya mil gracias
Código PHP:
<head>
<style type="text/css">
ul { border:0; margin:0; padding:0; }
#pagination-digg li { border:0; margin:0; padding:0; font-size:13px; list-style:none; /* savers */ float:left; }
#pagination-digg a { border:solid 1px #9aafe5; margin-right:2px; }
#pagination-digg .previous-off,
#pagination-digg .next-off { border:solid 1px #DEDEDE; color:#888888; display:block; float:left; font-weight:bold; margin-right:2px; padding:3px 4px; }
#pagination-digg .next a,
#pagination-digg .previous a { font-weight:bold; }
#pagination-digg .active { background:#2e6ab1; color:#FFFFFF; font-weight:bold; display:block; float:left; padding:4px 6px; /* savers */ margin-right:2px; }
#pagination-digg a:link,
#pagination-digg a:visited { color:#0e509e; display:block; float:left; padding:3px 6px; text-decoration:none; }
#pagination-digg a:hover { border:solid 1px #0e509e; }
</style></head>
<?php
require_once('../Connections/connection.php');
//Evitamos que salgan errores por variables vacías
error_reporting(E_ALL ^ E_NOTICE);
//Cantidad de resultados por página (debe ser INT, no string/varchar)
$cantidad_resultados_por_pagina = 10;
//Comprueba si está seteado el GET de HTTP
if (isset($_GET["pagina"])) {
//Si el GET de HTTP SÍ es una string / cadena, procede
if (is_string($_GET["pagina"])) {
//Si la string es numérica, define la variable 'pagina'
if (is_numeric($_GET["pagina"])) {
//Si la petición desde la paginación es la página uno
//en lugar de ir a 'index.php?pagina=1' se iría directamente a 'index.php'
if ($_GET["pagina"] == 1) {
header("Location: index.php");
die();
} else { //Si la petición desde la paginación no es para ir a la pagina 1, va a la que sea
$pagina = $_GET["pagina"];
};
} else { //Si la string no es numérica, redirige al index (por ejemplo: index.php?pagina=AAA)
header("Location: index.php");
die();
};
};
} else { //Si el GET de HTTP no está seteado, lleva a la primera página (puede ser cambiado al index.php o lo que sea)
$pagina = 1;
};
//Define el número 0 para empezar a paginar multiplicado por la cantidad de resultados por página
$empezar_desde = ($pagina-1) * $cantidad_resultados_por_pagina;
?>
<body>
<?php
//Obtiene TODO de la tabla
$obtener_todo_BD = "SELECT * FROM informes";
//Realiza la consulta
$consulta_todo = mysqli_query($connection, $obtener_todo_BD);
//Cuenta el número total de registros
$total_registros = mysqli_num_rows($consulta_todo);
//Obtiene el total de páginas existentes
$total_paginas = ceil($total_registros / $cantidad_resultados_por_pagina);
//Realiza la consulta en el orden de ID ascendente (cambiar "id" por, por ejemplo, "nombre" o "edad", alfabéticamente, etc.)
//Limitada por la cantidad de cantidad por página
$consulta_resultados = mysqli_query($connection, "
SELECT * FROM informes
LIMIT $empezar_desde, $cantidad_resultados_por_pagina");
//Crea un bluce 'while' y define a la variable 'datos' ($datos) como clave del array
//que mostrará los resultados por nombre
while($datos = mysqli_fetch_array($consulta_resultados)) {
?>
<span class="persona">
<p><strong><?php echo $datos['Nombre']; ?></strong> <br>
<?php echo $datos['ApellidoPaterno']; ?></p>
</span>
<?php
};
?>
<table border="0">
<?
echo "
<ul id='pagination-digg'>
<li class='previous-off'>«Anterior</li>
<li class='active'>1</li>
<li><a href='?pagina=2'>2</a></li>
<li><a href='?pagina=3'>3</a></li>
<li><a href='?pagina=4'>4</a></li>
<li><a href='?pagina=5'>5</a></li>
<li><a href='?pagina=6'>6</a></li>
<li><a href='?pagina=7'>7</a></li>
<li class='next'><a href='?pagina=8'>Siguiente »</a></li>
</ul>";?>
</table>