我正在努力弄清楚如何正确格式化这些fputcsv线。
以下是我用来将查询写入csv文件的代码。
$handle = fopen( $dir .'/export.csv', 'w');
$headers = 'Category Name, ID';
fwrite($handle,$headers);
foreach( $catresults as $catresult ) {
$csvcatname[0] = $catresult->name;
$csvcatimage[1] = $catresult->term_id;
fputcsv($handle, $csvcatname);
fputcsv($handle, $csvcatimage);
}
fclose($handle);
}
这就是它写入csv文件的方式。类别名称应位于“类别名称”列中,ID应位于ID中。如果你看,你可以看到第一个类别名称被插入到第二个列标题行以及标题名称...
Category Name | IDShoes
66
Pants
65
Lotions
64
findme
69
find me
70
with space
71
Find Second
72
更新
感谢Barmar现在插入两列。但是第一个数据行仍然插入到我的标题行中。我可以跳过1排吗?这是它出现的方式......
Category Name | IDShoes | 66
答案 0 :(得分:1)
每次调用fputcsv
都会在文件中写入另一行。如果希望行有两列,则它必须是包含两个元素的数组。您正在创建两个阵列,每个阵列都有一个元素,并分别编写它们。
foreach( $catresults as $catresult ) {
$row = array($catresult->name, $catresult->term_id);
fputcsv($handle, $row);
}