chandlurmark
Gebruiker
- Lid geworden
- 12 mrt 2008
- Berichten
- 58
Weet iemand hoe ik dit goed kan configureren?
De laatste paar regels zijn cruciaal, als ik willekeurig iets invul bij fwrite gooit hij een csv op de server en vult hij dit csv, wil ik alles erin gooien van de while loop, krijg ik alleen een punt komma in het csv bestand
PHP:
<?php
//
// establish database connection
//
include '../connection/beaufortpersoneel.php';
//
// execute sql query
//
$query = sprintf("select personeelsnummer, kostenplaats + ' ('+afdeling+')' as kostenplaats, voorletters, voornaam, tussenvoegsels, achternaam, geslacht, geboortedatum, email, telefoon, kamer from topdesk_beaufort where personeelsnummer not like '23' and personeelsnummer not like '54' and personeelsnummer not like '599' and personeelsnummer not like '1505'");
$result = odbc_exec($connect, $query);
//
// send response headers to the browser
// following headers instruct the browser to treat the data as a csv file called export.csv
//
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="csv/export-addressbook'.date("Y-m-d-H").'.csv"');
#readfile('csv/export-addressbook'.date("Y-m-d-H").'.csv');
//
// output header row (if atleast one row exists)
//
$row = odbc_fetch_array( $result );
if ( $row )
{
echocsv( array_keys( $row ) );
}
//
// output data rows (if atleast one row exists)
//
while ( $row )
{
echocsv( $row );
$row = odbc_fetch_array( $result );
}
//
// echocsv function
//
// echo the input array as csv data maintaining consistency with most CSV implementations
// * uses double-quotes as enclosure when necessary
// * uses double double-quotes to escape double-quotes
// * uses CRLF as a line separator
//
function echocsv( $fields )
{
$separator = '';
foreach ( $fields as $field )
{
if ( preg_match( '/\\r|\\n|,|"/', $field ) )
{
$field = '"' . str_replace( '"', '""', $field ) . '"';
}
#echo $separator . $field;
$data = $field;
$separator = ";";
echo $field;
// CSV op de server knallen, gemaakt door Markie Wilbrinkie
$f = fopen ('csv/export-addressbook'.date("Y-m-d-H").'.csv','w');
fwrite($f, ";personeel;asdasd;asdasd;asdasd;asd");
fclose($f);
}
echo "\r\n";
}
?>
De laatste paar regels zijn cruciaal, als ik willekeurig iets invul bij fwrite gooit hij een csv op de server en vult hij dit csv, wil ik alles erin gooien van de while loop, krijg ik alleen een punt komma in het csv bestand