Hallo allemaal,

Ik heb een werkend script dat vanuit MSSQL data exporteert naar csv. Wanneer ik het bestand met notepad open krijg ik .0000;1234.5600; enz.
De juiste waarden van bovenstaand voorbeeld is: 0.00 en 1234.56. Er komen dus telkens 2 extra nullen aan het eind bij. Bij 0.00 laat ie de eerste 0 niet zien.

In MSSQL heb ik het Money format, ik heb met dit probleem meer ervaring, dit heeft te maken met een number_format, alleen ik weet niet hoe ik number_format kan implementeren in mijn script.

hieronder het script:


<?php

include'connection.php';
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$fileName = 'test.csv';
 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Description: File Transfer');
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename={$fileName}");
header("Expires: 0");
header("Pragma: public");
 
$fh = fopen( 'php://output', 'w' );
 
	$query = "SELECT * FROM table";
	$res = odbc_exec($db,$query);

$headerDisplayed = false;
// Add a header row if it hasn't been added yet

while($row = odbc_fetch_array($res)){

	if ( !$headerDisplayed ) {
		// Use the keys from $data as the titles
		fputcsv($fh, array_keys($row), ";");
		$headerDisplayed = true;
	}
	
	// Put the data into the stream
	fputcsv($fh, $row, ";");
}

// Close the file
fclose($fh);
// Make sure nothing else is sent, our file is done
exit;

?>


Alvast bedankt.
Bedankt voor de informatie, ik snap nu een array iets meer :). Alleen bij het voorbeeld van Johan heb ik nog wel een vraag. Ik heb voor de $i een print_r gedaan. Bijna alle kolommen bevatten een bedrag dat de number_format moet bevatten. Hoe kan ik er voorzorgen dat $i variabel wordt?

Alvast bedankt.

[size=xsmall]Toevoeging op 01/06/2015 09:51:01:[/size]

Ik heb het al opgelost door deze regel $row['kolom1'] = number_format( $row['kolom1'], 2, ',', ''); te herhalen voor elke kolom. Bedankt voor de hulp!

Reageren