[ayuda] Crear enlaces de > php mysql.

Buenas tardas me gustaria que me orienten un poquito estoy intentando hacer una especie de galeria de imagen y tengo el siguiente codigo que ver.php :

<?php
$conectar = mysql_connect("localhost","root","");
	$bd = mysql_select_db("galeria");


	$verificar = mysql_query("SELECT * FROM imagenes LIMIT 1");
	
	$numeros = mysql_num_rows($verificar);
	if($numeros <= 0)
	{
	 echo "No se han encontrado imagenes";
	 }
	 else {
	    while($imagen = mysql_fetch_array($verificar))
			{		  
		   			
			 			echo '<img src="'.$imagen['url'].'"/>';
			}
}
?>

y me gustaria crear unos enlaces de anterior y siguiente como dice en el titulo... glooglee y segui algunos tutoriales y no dieron resultado... :/ si me dieran una mano, es agradeseria mucho :)

P/D: tengo un ID auto incrementable llamado imagen_id
Lo que hace el código es que te muestra, seguidas, todas las imágenes. Para los botones hay dos opciones que se me ocurren:
1- Que muestre una imagen por página indicándole la ID de esta en la URL misma.
2- Que muestre todas las imágenes en una página y con JS hacer que se muestre una u otra.

¿Cuál prefieres?
Perdón recien veo que contestaste, me das hasta para elegir como hacerlo Muchas gracias y creo para seguir solo con php estaria bueno hacerlo de la primera manera con el ID. Pero si vos decis que la segunda manera es mas eficiente hacemos de la segunda manera! :)
En verdad, a mi ver, la primera es mejor (por la velocidad de carga).

<?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.
Muuuchas gracias olukarak y para mi suerte salio un error jaja pero creo que no es tan grabe es el siguiente:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\wamp\www\2012\galeria\a.php on line 19

esta es la linea 19:
echo '<a href="pagina.php?img='.$imagen['imagen_id']-1.'">Anterior</a>';

donde dice pagina.php va el nombre de esta misma pagina no?
esta pagina de se llama ver.php entonces deberia quedar así:

echo '<a href="ver.php?img='.$imagen['imagen_id']-1.'">Anterior</a>';

bueno lo probe pero el error sigue. creo que es algo de las comillas simples y dobles no?.

muchas gracias, y perdón por las molestias! :)
El fallo es simple, se cierra antes de lo que debería, y usa commillas dobles en un echo, lo que impiede que sea leido.:

echo "<a href='ver.php?img= " . $imagen['imagen_id']-1 . '>Anterior</a>";
Asi debería bastar ;)
Hola rabs, segui tu consejo y salio este error:
Parse error: syntax error, unexpected '>' in C:\wamp\www\2012\galeria\ver.php on line 19

y despues probe asi:
echo "<a href='ver.php?img= " . $imagen['imagen_id']-1 . '>Anterior</a>"';

y ahi si funcionó! :) pero ahora me sale 3 errores en el img que son los siguientes:

Notice: Undefined index: img in C:\wamp\www\2012\galeria\ver.php on line 6
Notice: Undefined index: img in C:\wamp\www\2012\galeria\ver.php on line 6
Notice: Undefined index: img in C:\wamp\www\2012\galeria\ver.php on line 6
esta es la linea 6:

$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);

el problema parece ser en: $_GET['img'] por lo que estaba leyendo.. tengo que agregar un input en el formulario?
este es mi formulario:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>::::</title>
</head>

<body>
<form action="cargar.php" enctype="multipart/form-data" method="post">
<input type="file" name="imagen" /><br>
<input type="file" name="imagen2" /><br>
<input type="file" name="imagen3" /><br>
<input type="file" name="imagen4" /><br>
<input type="file" name="imagen5" /><br>
<input type="submit" value="subir" />
</form>
</body>
</html>
//************************************************//

y este es el archivo que sube:

<?php
if(!is_uploaded_file($_FILES['imagen']['tmp_name']))
{
echo "Error al subir archivo";
}
else {
$conectar = mysql_connect("localhost","root","");
$bd = mysql_select_db("galeria");
$nombre = explode(".",$_FILES['imagen']['name']);
$peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen']['name']."')") or die(mysql_error());
move_uploaded_file($_FILES['imagen']['tmp_name'],"fotos/".$_FILES['imagen']['name']);
$nombre = explode(".",$_FILES['imagen2']['name']);
$peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen2']['name']."')") or die(mysql_error());
move_uploaded_file($_FILES['imagen2']['tmp_name'],"fotos/".$_FILES['imagen2']['name']);
$nombre = explode(".",$_FILES['imagen3']['name']);
$peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen3']['name']."')") or die(mysql_error());
move_uploaded_file($_FILES['imagen3']['tmp_name'],"fotos/".$_FILES['imagen3']['name']);
$nombre = explode(".",$_FILES['imagen4']['name']);
$peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen4']['name']."')") or die(mysql_error());
move_uploaded_file($_FILES['imagen4']['tmp_name'],"fotos/".$_FILES['imagen4']['name']);
$nombre = explode(".",$_FILES['imagen5']['name']);
$peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen5']['name']."')") or die(mysql_error());
move_uploaded_file($_FILES['imagen5']['tmp_name'],"fotos/".$_FILES['imagen5']['name']);
}
?>

Seguro a de estar todo mal! jajaja pero fue lo que logre hacer,, y bueno a mi me sirve! :)
Up, perdón, se me olvidó:
echo "<a href='ver.php?img= " . $imagen['imagen_id']-1 . "'>Anterior</a>";
Remplazalo y el error se debería de ir ;)

Respecto al otro tema, te respondería si puediese, pero no tengo tiempo... Seguro que hay alguien mucho mejor en el foro que te responde a ese error ;)
Rabs escribió:Up, perdón, se me olvidó:
echo "<a href='ver.php?img= " . $imagen['imagen_id']-1 . "'>Anterior</a>";
Remplazalo y el error se debería de ir ;)

Respecto al otro tema, te respondería si puediese, pero no tengo tiempo... Seguro que hay alguien mucho mejor en el foro que te responde a ese error ;)

Esperemos que si :) gracias por tu ayuda! ^^
Ese error es que no se encuentra la variable $_GET['img']. Para solucionarlo usa ver.php?img=ID_IMAGEN
Si alguien no lo escribe así saldrá el error. Para corregirlo, al principio del documento, puedes poner:

if (!isset($_GET['img'])) {
    $img = AQUI_LA_ID_DE_IMAGEN_PREDETERMINADA;
} else {
    $img = $_GET['img'];
}

Despues sustituye todos los $_GET['img'] por $img.
Muchas gracias por tu ayuda olukarak :)
estaba probando de varias maneras y nose cual es la correcta! perdon, :/
<?php 
            if (!isset($_GET['img'])) {
            $img = $imagen['imagen_id']; /*asi me da que la variable no esta identificada*/
            $img = "ver.php?img=imagen_id"; /*Así no me da ningun error pero me dice que "no se han encontrado imagenes */       
            $img = 22; /*probe poniendo un nº como imagen_id pero tambien me dice q no se encontro imagenes (tampoco da errores. */ 
} else {
            $img = $_GET['img'];
        }
		$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", $img, $img-1, $img+1);
    $verificar = mysql_query($query); 
     
    $numeros = mysql_num_rows($verificar); 
    if($numeros <= 0 || ($numeros > 0 && mysql_result($verificar, 0, 0) != $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'] == $img) {
                    echo '<img src="'.$imagen['url'].'"/>'; 
                } elseif ($imagen['imagen_id'] == $img-1) {
                    echo "<a href='ver.php?img= " . $imagen['imagen_id']-1 . '>Anterior</a>"'; 
                } elseif ($imagen['imagen_id'] == $img+1) {
                    echo "<a href='ver.php?img= " . $imagen['imagen_id']+1 . '>Siguiente</a>"';  
                }
            } 
    } 
?>

muchas gracias por tu ayuda y perdona las molestias ocacionadas! :/