Hace tiempo hice una pequeña funcion en php para mostrar los resultados de una consulta en formato excel, esta hecha en Postgres pero no deberias tener ningun problema para convertirla a mysql
Primero debes crearte un archivo excel en blanco: archivo1.xls en el ejemplo
Luego implementas el siguiente script
Código PHP:
<?
$con=pg_connect("","","","","mibasededatos");//me conecto a la base de datos
$busca=pg_exec($con,"SELECT columna1,columna2,columna3 FROM tabla ORDER BY criterio");//aqui hago que los datos se ordenen de acuerdo a lo que necesito
$fila=pg_numrows($busca); //numero de filas resultantes de la consulta
$i=0;
$shtml=$html."<table>
while($i<$fila) //ahora para cada fila obtenida en la consulta
{
$row = pg_fetch_array($busca,$i); //asigno la fila a un array y de acuerdo al numero de campos de la consulta, 3 en este caso
$a=$row[1];
$b=$row[2];
$c=$row[3];
$i++;
$shtml=$html."
<tr>
<td align='left'>
$a
</td>
<td align='left'>
$b
</td>
<td align='left'>
$c
</td>
</tr>";
}
$shtml=$shtml."</table>";
$sfile="archivo1.xls"; //archivo excel creado
$fp=fopen($sfile,"w");
fwrite($fp,$shtml);
fclose($fp);
echo "<a href='$file'>Ver archivo</a>"
?>
Al visitar el link
Ver archivo podras abrir (o guardar) el archivo excel con los datos obtenidos. Una ves abierto el archivo excel lo unico que tienes que hacer es ir al menú
Archivo>>
Guardar como y elegir la opción
Texto(delimitado por tabulaciones) y ya tienes tu archivo de texto en el formato que necesitas.
Es una solución un poco enredada pero espero que te sirva
Un saludo...