Actually, outputing CSV is pretty easy. The following is untested but in theory, it should work...
$delimiter = ','; // delimiter is sometimes ; or | instead
$quote = '"'; // quote is sometimes ' instead
$result = mysql_query($your_query) or die(mysql_error());
header("Content-type: text/csv");
while ($record = mysql_fetch_row($result)) {
$first = true;
foreach ($record as $field) {
if (!$first) echo $delimiter;
$field = str_replace($quote, $quote.$quote, $field); // escape quotes
echo $quote.$field.$quote;
$first = false;
}
echo "\n";
}