Creamos una tabla e insertamos como ejemplo varios registros:
$conexion=mysql_connect("localhost","pepe","123456") or
die("Problemas en la conexion");
mysql_select_db("codigofuenteya",$conexion) or
die("Problemas en la selección de la base de datos");
$registros=mysql_query("drop table if exists usuarios",$conexion) or
die("Problemas en el select:".mysql_error());
$registros=mysql_query("create table usuarios (
nombre varchar(30),
clave varchar(30)
)",$conexion) or
die("Problemas en el select:".mysql_error());
mysql_query("insert into usuarios(nombre,clave) values ('juan','123')",$conexion) or
die(mysql_error());
mysql_query("insert into usuarios(nombre,clave) values ('ana','abc')",$conexion) or
die(mysql_error());
mysql_query("insert into usuarios(nombre,clave) values ('carlos','xyz')",$conexion) or
die(mysql_error());
Recuperamos todos los registros y mediante un for recuperamos los nombres de los campos:
for($f=0;$f<$cant;$f++)
{
$cabecera.=mysql_field_name($registros,$f)."\t";
}
Luego mediante un while y un for interno recuperamos todos los datos de cada fila de la tabla
y generamos un string con la información correspondiente:
while($fila = mysql_fetch_row($registros))
{
$linea = '';
foreach($fila as $valor)
{
if ((!isset($valor)) || ($valor == ""))
{
$valor = "\t";
}
else
{
$valor = str_replace('"', '""', $valor);
$valor = '"' . $valor . '"' . "\t";
}
$valor = stripslashes($valor);
$linea .= $valor;
}
$datos .= trim($linea)."\n";
}
Generamos una cabecera que indica que la información a suministrar debe ser procesada por
una aplicación:
header("Content-type: application/x-msdownload");