CSV にエクスポートする適切な方法に関する多くの投稿を目にしますが、ほとんどの開発者は使用することを推奨しています。fputcsv()
以下のスクリプトをどのように変換して使用しますfputcsv
か? テーブルの列名を反映するヘッダー行もエクスポートしていることがわかります。これを保持したいと思います。
<?php
$sql = "SELECT * FROM `tbl_customers`";
$result = mysql_query($sql, $dbdata_conn) or die(mysql_error());
$header = $csv_output = '';
$fields = mysql_num_fields($result);
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($result, $i) . ",";
}
$header .= "\n";
while ($rowr = mysql_fetch_row($result)) {
for ($j=0; $j<$i; $j++) {
$csv_output .= $rowr[$j].", ";
}
$csv_output .= "\n";
}
$csv_output = $header.$csv_output;
header("Content-type: text/x-csv");
header("Content-Disposition: attachment; filename=test.csv");
header("Pragma: no-cache");
header("Expires: 0");
print "$csv_output";
exit;
?>
非推奨であることは承知しているmysql_query
ので、これは練習用です。
補足として、私は に慣れていませんfputcsv
が、csv 出力のデータをフォーマットするのに便利で、すべてのエスケープなどで時間を節約できることを読んでいます。(私はまた、上記の改善に対して非常にオープンです)