我试图允许下载用户搜索我们的库存时生成的结果(表格)。我希望能够单击一个按钮将结果下载到 CSV 文件中。如果我在运行查询后直接添加 PHP 代码,则可以生成 CSV 文件。但是,我需要此按钮位于页面上的不同位置,因此我希望能够在查询结果中调用此函数,而不是在搜索后直接发送。
如果我这样做,那么我就可以生成文件。
function output_csv ($data) {
$filename = "exportfile.csv";
$handle = fopen($filename, 'w+');
fputcsv($handle, array('UserID','UserName'));
foreach($row = $data->fetch(PDO::FETCH_ASSOC)) {
fputcsv($handle, array($row['UserID'], $row['UserName']));
}
fclose($handle);
}
我知道 PHP 是服务器端,所以如果它与按钮位于同一页面上,我无法在 onclick 上调用此函数。因此我想我应该把这个函数放在一个单独的文件中,我可以从 onclick 调用它。但是我想不出一种方法来传递 $data (查询结果),它一直告诉我变量不能转换为字符串。
$file_array=$db->prepare("SELECT UserID, UserName FROM UserProfile");
$file_array->execute();
<button type="button" onclick="download_file.php?pass_array=<?php echo $file_array; ?>)">Click Me</button>
因此,我的问题是我无法弄清楚如何将查询结果发送到我的页面或其他页面中的 output_csv 函数,以便将它们写入文件。
谢谢,