Hola,
Posiblemente así está mas claro,
pseudo-codigo:
Código PHP:
Ver original<?php
// RECOJES EL VALOR DE ID, PREVIAMENTE REVISAS QUE GET EXISTA
// Y QUE SEA UN NÚMERO, DE CUALQUIER OTRA FORMA ID DEBE SER IGUAL A 0
$id = (int)$_GET['id']; // if isset(...
// LA CONSULTA BUSCA EL ID, SACA EL NÚMERO ANTERIOR Y SIGUIENTE,
select
*,
(select max(id) from pijeta where id < $id) minimo,
(select min(id) from pijeta where id > $id) maximo
from pijeta
where id = $id", ...);
if ($data) {
// ...
// MUESTRA LOS BOTONES DE NAVEGACIÓN CORRESPONDIENTES
if (!is_null($data['minimo'])) echo '<a href=fotos.php?id=' . $data['minimo'] . '>Anterior</a>'; if (!is_null($data['minimo']) && !is_null($data['maximo'])) echo ' / '; if (!is_null($data['maximo'])) echo '<a href=fotos.php?id=' . $data['maximo'] . '>Siguiente</a>'; } else {
// scream_VERY_loud();
// SCREAM !!! ES BROMA. ALGUIEN SIGUIO UN ENLACE INVALIDO O
// QUISO MANIPULAR EL URL, POR LO QUE EL REGISTRO NO EXISTE
// BUSCA EL MENOR ID Y REDIRECCIONA PARA BUSCARLO.
select min(id) minimo, count(*) cuenta
from pijeta", ...);
if ($data) {
if ($data['cuenta'] != 0)
// SI HAY REGISTROS REDIRECCIONA PARA BUSCAR EL MENOR
header('Location: http://www.example.com/thisfile.php?id=' . $query['minimo']); } else {
// LA BASE DE DATOS ESTÁ VACIA
// NOW_scream_VERY_loud();
}
}
}
?>
Saludos,