PHP:生成的CSV文件不';你没有头球吗?
我正在使用PHP从MYSQL数据库创建一个简单的CSV文件 CSV文件创建得很好,内容在需要的地方,但CSV文件没有任何标题 此smy代码:PHP:生成的CSV文件不';你没有头球吗?,php,mysql,csv,Php,Mysql,Csv,我正在使用PHP从MYSQL数据库创建一个简单的CSV文件 CSV文件创建得很好,内容在需要的地方,但CSV文件没有任何标题 此smy代码: <?php header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=data.csv'); $output = fopen('php://output', 'w'); $r
<?php
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');
$rows = mysqli_query($db_conx, 'SELECT u.email as referrer,
ref.email as referred
from users u
INNER JOIN users ref
on u.ref_code=ref.ref_code_used');
while ($row = mysqli_fetch_assoc($rows)) {
fputcsv($output, $row);
}
fclose($output);
mysqli_close($db_conx);
exit();
?>
但这不会将头放在CSV文件中
有人能就这个问题提出建议吗
提前谢谢 像这样的怎么样。首先,我们检查您是否有输出头。如果没有,请使用array_keys函数打印标题
$headers = false;
while ($row = mysqli_fetch_assoc($rows)) {
if (!$headers) {
fputcsv($output, array_keys($row));
$headers = true;
}
fputcsv($output, $row);
}
这对我来说很好:
<?php
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');
$rows = mysqli_query($db_conx, 'SELECT u.email as referrer, ref.email as referred from users u INNER JOIN users ref on u.ref_code=ref.ref_code_used');
$headers = "referrer, referred";
fputcsv($output, explode(', ', $headers));
while ($row = mysqli_fetch_assoc($rows)) {
fputcsv($output, $row);
}
fclose($output);
mysqli_close($db_conx);
exit();
?>
缺少列标题是否与您没有尝试在输出中放置任何列标题有关?当您仅循环数据并将其写入文件时,为什么会有神奇的列标题?;)您需要首先实际构建列标题,然后循环行并将它们放入。tryfputcsv($output,array_keys($row))代码>在您的第一次循环迭代中,我将如何确定它只打印一次留给您:D@RiggsFolly是的,我太快了,更正。--
<?php
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');
$rows = mysqli_query($db_conx, 'SELECT u.email as referrer, ref.email as referred from users u INNER JOIN users ref on u.ref_code=ref.ref_code_used');
$headers = "referrer, referred";
fputcsv($output, explode(', ', $headers));
while ($row = mysqli_fetch_assoc($rows)) {
fputcsv($output, $row);
}
fclose($output);
mysqli_close($db_conx);
exit();
?>