Has guardado la información en la base de datos, entonces tendrás que procesar esos datos y generar un archivo de texto.
Lo que haría sería en primero lugar listar todos los registro para generar la lista, eso lo haces con un select simple a la tabla donde están tus txt.
Cuando generes la lista haz un enlace de cada registro con el id de registro como parámetro de url.
La url es el archivo php que generará el txt resultante.
//suponemos que tienes el insert listo
echo "<ul>";
while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
echo "<li><a href='crea_txt.php?id=".$fila['id']."'>".$fila["nombre_archivo"]."</a>";
}
echo "</ul>";
en el archivo crea_txt.php
Haces el select del registro y retiras su contenido, de esta forma incluyes eso en un txt y lo entregas al cliente.
Fijate que en la consulta existe el valor de id que enviamos desde la url por método get.
header('Content-Disposition: attachment; filename="archivo.txt"');
mysql_connect("localhost", "usuario_mysql", "contraseña_mysql") or
die("No se pudo conectar: " . mysql_error());
mysql_select_db("mibd");
$resultado = mysql_query("SELECT contenido FROM tabla_txt where id="$_GET['id'];);
while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
echo $fila["id"]."-".$fila["nombre"]."\r\n";
}
mysql_free_result($resultado);
Y así funcionaría en la situación de haberlo guardado en la base de datos.