primero que nada, la idea de PHP es que sea "embebido" en HTML y no al revés, por lo que no veo del todo correcto utilizar un echo en cada linea para desplegar html o javascript que va a ser estático.
ahora, suponiendo que las fotos se encuentren en una tabla que se llame "pics" y que tengas MySQL. Harías algo así:
primero desplegamos las imágenes sin mas información que el título:
Código PHP:
$sqlFotos = "SELECT id, ruta, titulo FROM pics";
$rssFotos = mysql_query($sqlFotos) or die(mysql_error());
echo '<table border="0">';
while($foto = mysql_fetch_object($rssFotos))
echo '<tr><td>
<a href="#" onClick="window.open(\'verDetalle.php?idFoto='.$foto->id.'\',\'nombre_ventana\',\'width=500, height=500\');">
<img src="'.$foto->ruta.'" border="0">
</td></tr>';
echo '</table>';
luego en la página verDetalle.php solo recibes el id que enviaste por URL con la variable después del signo de interrogación en el link que abre la ventana. Y con ese ID consultas los demás datos de la foto.
Código PHP:
$id = $_GET['id'];
$sqlDetalle = "SELECT * FROM fotos WHERE id = ".$id;
$rssDetalle = mysql_query($sqlDetalle) or die(mysql_error());
$detalle = mysql_fetch_object($rssDetalle);
y con eso ya despliegas los datos donde quieras...
creo que te hace falta leer sobre PHP, las cosas que escribí son básicas, lee un tutorial y ahi las encuentras. Revisa y trata de entender cada paso...
un saludo