breez
Legacy Member
Ik zit al ruim een uur te sukkelen in PHP om data uit MySQL te exporteren naar CSV (om te openen in excel)
Het is de bedoeling dat ik in mijn excel document twee kolommen krijg: Jaar en Titel
Het probleem echter is dat iedere rij met data in 1 kolom wordt gestoken. De excel file ziet er nu zo uit:
Terwijl het er zo zou moeten uitzien:
(de TAB stelt cel opschuiven naar rechts voor, 2 kolommen dus)
Mijn code ziet er als volgt uit: (komt van de fputcsv documentatie, lichtjes aangepast))
Ik geef dus gewoon een resultset en filename mee en roep die functie op. Wat ik ook probeer, ik slaag er niet in om 2 kolommen te bekomen...
Jaar is van type int(4) en Titel is van type text
Het is de bedoeling dat ik in mijn excel document twee kolommen krijg: Jaar en Titel
Het probleem echter is dat iedere rij met data in 1 kolom wordt gestoken. De excel file ziet er nu zo uit:
Code:
Jaar,Titel
2007,"titel 1"
2008,"titel 2"
Code:
Jaar TAB Titel
2007 TAB titel 1
2008 TAB titel 2
Mijn code ziet er als volgt uit: (komt van de fputcsv documentatie, lichtjes aangepast))
PHP:
function query_to_csv($result, $filename, $attachment = false, $headers = true) {
if($attachment) {
// send response headers to the browser
header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename='.$filename);
$fp = fopen('php://output', 'w');
} else {
$fp = fopen($filename, 'w');
}
if($headers) {
// output header row (if at least one row exists)
$row = mysql_fetch_assoc($result);
if($row) {
fputcsv($fp, array_keys($row));
// reset pointer back to beginning
mysql_data_seek($result, 0);
}
}
while($row = mysql_fetch_assoc($result)) {
fputcsv($fp, $row);
}
fclose($fp);
}
Ik geef dus gewoon een resultset en filename mee en roep die functie op. Wat ik ook probeer, ik slaag er niet in om 2 kolommen te bekomen...
Jaar is van type int(4) en Titel is van type text
