我使用php运行SQL查询并填充HTML表。我的问题是,因为我有$ query变量包含sql结果,是否可以添加一个按钮到“导出到CSV”,如果单击该按钮,它将导出格式为$ query的.csv文件与生成的html表的方式相同吗?
假设查询字符串是这样的:
java.time
答案 0 :(得分:1)
你可以试试这种方式
$result = mysql_query('SELECT * FROM `some_table`');
if (!$result) die('Couldn\'t fetch records');
$num_fields = mysql_num_fields($result);
$headers = array();
for ($i = 0; $i < $num_fields; $i++)
{
$headers[] = mysql_field_name($result , $i);
}
$fp = fopen('php://output', 'w');
if ($fp && $result)
{
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="export.csv"');
header('Pragma: no-cache');
header('Expires: 0');
fputcsv($fp, $headers);
while ($row = mysql_fetch_row($result))
{
fputcsv($fp, array_values($row));
}
die;
}