Codice PHP:
// pagina lista_file.php

$sql "SELECT id, nome_file, tipo_file FROM downloads";
$query mysql_query($sql);

echo 
"<ul>";

while (
$riga mysql_fetch_array($query)) {

echo 
"[*]
          <a href=\"scarica.php?id=
$riga['id']\">$riga['nome_file'] - $riga['tipo_file']</a>
        "
;

}
echo 
"[/list]";
mysql_free_result($query); 

Codice PHP:
// pagina scarica.php
$id $_GET['id'];

$cartella "directory/dove/hai/salvato/i/file";

$sql "SELECT nome_file, tipo_file FROM downloads WHERE id =$id  ";
$query mysql_query($sql);
$riga mysql_fetch_array($query);

$file $riga['nome_file'];
$tipo $riga['tipo_file'];
$lenght = @filesize("$cartella/$file");

header("Content-type: $tipo");
header("Content-lenght: $lenght ");
header("Content-Disposition: attachment; filename = $file");
// qui parte il download
// ti manca solo la query di aggiornamento del DB contaclick