Codice PHP:
while (hai ancora elementi nel record){
?>[img]<? echo pathdell'immagine; ?>[/img]
//immagino che ad ogni immagine sia associato oltre che al path anche un id (nel record del db)
?>
<input name="scarica" type="radio" value="<? echo "iddell'immagine" ?>"> Scarica
<?
}
In questo modo possono selezionare un'immagine sola da scaricare. Se vuoi permettergli di scaricare più immagini alla volta, devi usare delle checkbox.... chiedi e ti sarà spiegato come 
Poi sotto ci sarà un tasto "scarica img" che apre una pagina in cui esegui un controllo di questo tipo:
$query = "select * from TBL WHERE idimmagine = ".$_REQUEST["scarica"];
...bla bla bla cose col db...
echo '[img]'.pathdell'immagine.'[/img]';
ps--> Per la visualizzazione dell'anteprima ho inserito delle dimensioni fisse... per fare una cosa fatta bene dovresti utilizzare le funzioni di imageediting di php, per ridimensionare le immagini decentemente, mantenendo le proporzioni corrette.