0

可能重复:
将 MySQL 查询转换为 CSV 的 PHP 代码

我正在尝试导出一个 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);
4

2 回答 2

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如果您需要对字符串值使用其他引号(双引号是标准的),则可以使用可选参数。

于 2012-06-20T11:25:48.547 回答
-1

在 foreach


fwrite($fh, $item.',');中试试这个

看看 http://net.tutsplus.com/tutorials/php/how-to-generate-a-complete-excel-spreadsheet-from-mysql/

于 2012-06-20T10:53:34.520 回答