This may help you. it gathers from a table, then generates a cvs file to be saved.
// database info
$dbname = "database"; //database to connect to
$dbtable = "table";
//edit this line to your server, username, password
$link = @mysql_connect('server','username','password') or die("Unable to connect to database");
//do NOT edit anything below this line!!!!
$db_selected = @mysql_select_db($dbname,$link) or die("Unable to Select database");
$select = "SELECT * FROM " . $table . "'";
$export = @($select);
$fields = mysql_num_fields($export);
//echo "test1<BR>";
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export, $i) . "\t";
}
while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
/*
if ($data == "") {
$data = "\n(0) Records Found!\n";
*/
header("Content-type: application/x-msdownload");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=form.csv");
header("Content-Encoding: SomethingIEDoesntKnow");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";