Puedes generar tu archivo de texto plano con algún formato .. por ejemplo CSV o similar (separado por comas los campos y salto de línea los registros):
Código PHP:
<?
// etc .. conectas a tu BD .. etc ...
$sql="SELECT * FROM tabla";
$resultado=mysql_query($sql);
$linea= '';
while ($row=mysql_fetch_array($resultado)){
$lineas .= implode(',',$row)."\n";
}
// en $linea tendrás concatenado tu archivo listo para llevartelo a un archivo. (generarlo)
$f=fopen("archivo.txt","a+");
fwrite($f,$lineas);
fclose($f);
?>
(recuerda que el directorio donde ejecutes ese script o ruta donde decidas crear tu archivo debe tener permisos de escritura si corresponde).
Y para leer ese archivo .. puedes usar fgetcsv()
Un saludo,