我正在尝试导出一个csv文件,我需要在打印数据库的字段之间创建空间,因为所有内容都是一个简单的行。
我需要做的是在标题中打印字段的名称..这是我的代码。首先,我需要在csv选项卡中导出字段,或者只在字段之间输出空间......
if ( !$result1 ) { echo mysql_error(); }
while ($row = mysql_fetch_array($result1)) {
$last = end($row);
foreach ($row as $item) {
fwrite($fh, $item);
if ($item != $last)
fwrite($fh, "\t");
}
fwrite($fh, "\n");
}
fclose($fh);
答案 0 :(得分:3)
您可以考虑使用fputcsv代替fwrite的麻烦。语法如下:
int fputcsv ( resource $handle , array $fields [, string $delimiter = ',' [, string $enclosure = '"' ]] )
对于您的代码,它看起来像:
$fh = fopen('file.csv', 'w');
if ( !$result1 ) { echo mysql_error(); }
while ($row = mysql_fetch_array($result1)) {
fputcsv($fh, $result1, ',');
}
fclose($fh);
如果您需要对字符串值使用其他引号(双引号是标准值),则可以使用可选的$enclosure
参数。
答案 1 :(得分:-1)
在foreach中尝试这个。
fwrite($ fh,$ item。',');
看一看 http://net.tutsplus.com/tutorials/php/how-to-generate-a-complete-excel-spreadsheet-from-mysql/