我需要创建一个从 mySQL DB 获取数据的 CSV 文件。
事实是我希望 CSV tp 被更正标记,而不仅仅是像这样写数据:
id,name,url
1,thisismyname,thisismyurl
我需要 CSV 文件看起来井井有条,并且每个数据都插入到相关列中。
此外,使用我将在下面添加的功能,我只能从数据库中获取数据并将其按原样写入 CSV 文件。但我需要处理数据并以这种方式标记 CSV:
Campaign Name:
Name of the campaign
Campaign Url:
Url of the campaign
Tot visits:
Tot of visits
Tot unique visits:
Tot of unique visits
id name url
1 thisname this url
2 thisname this url
3 thisname this url
4 thisname this url
5 thisname this url
这是我到目前为止的 PHP 代码..我需要了解如何使用 PHP 实现正确的 CSV 结构并以我想要的确切方式在其中添加行..
谢谢你的帮助!
function genCSV($filename, $attachment = true, $headers = true) {
// send response headers to the browser
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=' . $filename);
$fp = fopen('php://output', 'w');
$query = "SELECT * FROM campaigns";
$result = mysql_query($query) or die(mysql_error());
if ($headers) {
// output header row (if at least one row exists)
$row = mysql_fetch_assoc($result);
if ($row) {
fputcsv($fp, array_keys($row));
// reset pointer back to beginning
mysql_data_seek($result, 0);
}
}
while ($row = mysql_fetch_assoc($result)) {
fputcsv($fp, $row);
}
fclose($fp);
}