Generowanie pliku csv

Funkcja do szybkiego generowania plików csv.


[sourcecode lang=”php”]< ? function CSV($nazwa_pliku,$dane) { $i = 0; foreach($dane as $i => $rekord) {
foreach($rekord as $naglowek => $wartosc) {
if($i == 0) {
$csv_data .= „””.$naglowek.””,”;
$csv_data_tmp .= „””.$wartosc.””,”;
}
else {
$csv_data .= „””.$wartosc.””,”;
}
}
$csv_data = substr($csv_data,0,strlen($csv_data)-1);
$csv_data .= „\n”;
if($i == 0) {
$csv_data .= $csv_data_tmp;
$csv_data = substr($csv_data,0,strlen($csv_data)-1);
$csv_data .= „\n”;
}
}

header(„Pragma: cache”);
header(„Content-Type: text/comma-separated-values”);
header(„Content-disposition: attachement; filename=”.$nazwa_pliku.”.csv”);

echo $csv_data;
exit;
}
//================================================================================

/*
* Przykład zastosowania
*/

/*
* Sposób wybierania danych z bazy
*/
$link = mysql_connect(„localhost”, „root”, „”) or die („Nie można się połączyć”);
mysql_select_db („test”) or die („Nie mozna wybrać bazy danych”);

$query = „SELECT * FROM teksty”;
$result = mysql_query ($query) or die („Zapytanie zakończone niepowodzeniem”);

$i = 0;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$dane[$i] = $line;
$i++;
}

/*
* Takie dane należy przekazać do funkcji
*/
//————————————————————
$nazwa_pliku = „test”;
CSV($nazwa_pliku,$dane);
//————————————————————
?>[/sourcecode]