3
这一定非常简单...以下是关于这里和php.net的示例,我试图从mysql查询中获取记录,将它们转换为csv格式,并将此数据分配给一个用于我创建的程序的变量。我想在不创建临时文件的情况下完成此操作。fputcsv只返回数组中的一行
public function export3() {
$order_data = array();
$order_data[] = array(
'order_id',
'email',
'telephone',
'shipping_address',
'payment_address',
'comment'
);
// Mysql returns data and is assigned to this array in the following format
$order_data[] = array(
'1',
'[email protected]',
'123456789',
'123 Lane',
'123 Lane',
'no comment'
);
$order_data[] = array(
'2',
'[email protected]',
'987654321',
'321 Lane',
'321 Lane',
'no comment'
);
$outstream = fopen("php://temp", 'r+');
foreach($order_data as $csv_data) {
fputcsv($outstream, $csv_data);
}
rewind($outstream);
$export_data = fgets($outstream);
fclose($outstream);
$response->output($export_data);
}
不幸的是,我偶尔会的“数组字符串”转换投诉,但即使没有任何错误,我只得到了第一个阵列(CSV格式),而不是其他。有什么建议么?谢谢
为什么你不使用'$ order_data'? – cwallenpoole
怎么样?我愿意接受任何想法......实际上,来自多个查询的数据需要合并,然后导出为可下载的csv。 (我从上面的例子中删除了这些头文件。) –