En verdad, a mi ver, la primera es mejor (por la velocidad de carga).
Código:
<?php
$conectar = mysql_connect("localhost","root","");
$bd = mysql_select_db("galeria");
/* Seleccionamos 3 imágenes 1 por la id, otra anterior y otra posterior a la primera */
$query = sprintf("SELECT * FROM imagenes WHERE imagen_id='%d' || imagen_id='%d' || imagen_id='%d' LIMIT 1", $_GET['img'], $_GET['img']-1, $_GET['img']+1);
$verificar = mysql_query($query);
$numeros = mysql_num_rows($verificar);
if($numeros <= 0 || ($numeros > 0 && mysql_result($verificar, 0, 0) != $_GET['img'])) /* Se cambia el segundo cero por otro número si el campo imagen_id no es el primero. */
{
echo "No se han encontrado imagenes";
} else {
while($imagen = mysql_fetch_array($verificar))
{
if ($imagen['imagen_id'] == $_GET['img']) {
echo '<img src="'.$imagen['url'].'"/>';
} elseif ($imagen['imagen_id'] == $_GET['img']-1) {
echo '<a href="pagina.php?img='.$imagen['imagen_id']-1.'">Anterior</a>';
} elseif ($imagen['imagen_id'] == $_GET['img']+1) {
echo '<a href="pagina.php?img='.$imagen['imagen_id']+1.'">Siguiente</a>';
}
}
}
?>
Si no he cometido ningún error este código debería ser completamente válido, en otro caso lo arreglaremos ;)
Esto lo que hará es detectar si hay imágenes anteriores o siguientes y, en tal caso, te mostrará los enlaces.
Marcadores