Prueba ésto:
Código 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,
$query = mysql_query("
select
*,
(select max(id_foto) from galeria where id_foto < $id) minimo,
(select min(id_foto) from galeria where id_foto > $id) maximo
from galeria
where galeria.id_foto = $id
AND galeria.categoria LIKE = '$row[categoria]'");
$data = mysql_fetch_array($query);
if ($data) {
// ...
// MUESTRA LOS BOTONES DE NAVEGACIÓN CORRESPONDIENTES
if (!is_null($data['minimo'])) echo '<a href=index.php?seccion=imagen&id=' . $data['minimo'] . ' title="Anterior"><img src="./images/flechaiz.png" border="0" width="36" alt="Anterior" /></a>';
if (!is_null($data['minimo']) && !is_null($data['maximo'])) echo ' ';
if (!is_null($data['maximo'])) echo '<a href=index.php?seccion=imagen&id=' . $data['maximo'] . ' title="Siguiente"><img src="./images/flechade.png" border="0" width="36" alt="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.
$query = mysql_query("
select min(id_foto) minimo, count(*) cuenta
from galeria");
if ($data) {
if ($data['cuenta'] != 0)
// SI HAY REGISTROS REDIRECCIONA PARA BUSCAR EL MENOR
header('Location: index.php?seccion=imagen&id=' . $query['minimo']);
} else {
// LA BASE DE DATOS ESTÁ VACIA
// NOW_scream_VERY_loud();
}
}
?>