php - 从超过 1 个表格导出到 csv
问题描述
我在将数据从 mysql 导出到属于客户 ID 的 .csv 文件时遇到问题。
当我尝试导出时,标题和查询出现错误。
当我将查询粘贴到 mysql 中时,我收到了值,但它重复了条目。
任何人都知道如何在没有任何额外库的情况下解决这个问题?
$id = $_REQUEST['id'];
$query = "SELECT DISTINCT A.user_name, B.mr_name, C.mpl_name FROM t_user A
INNER JOIN t_mr_pom B ON A.id = B.t_user_id
INNER JOIN t_mpl_pom C ON A.id = C.t_user_id
WHERE A.id LIKE $id GROUP BY B.id";
$result = mysqli_query($connect, $query);
$filename = "exported-" . date('Y-m-d') . ".csv";
$file = fopen($filename, "w");
$delimeter = ",";
$headers = array('Header 1', 'Header 2', 'Header 3');
fputcsv($file, $headers, $delimeter);
while ($row = mysqli_fetch_array($result)) {
$data = array($row['user_name'], $row['mr_name'], $row['mpl_name']);
fputcsv($file, $data, $delimeter);
}
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=" . $filename);
header("Pragma: no-cache");
header("Expires: 0");
readfile($filename);
unlink($filename);
exit();
解决方案
WHERE A.id LIKE $id GROUP BY B.id
不要LIKE
在这里使用。使用=
. 如果$id
是1
,则结果将针对每个包含1
: 10
, 11
, 12
,...的 ID 重复
推荐阅读
- javascript - 我选择的图像未出现在预览中
- http - gunicorn - 禁用 HTTP OPTION 方法
- reactjs - React 功能组件 - 使用获取的数据时,得到的错误数据不足
- java - Tabula Py 在 Windows 中窃取焦点
- flutter - Flutter 通过 API 登录
- javascript - 无法从 github 安装 ot.js 库
- php - Laravel 8: InvalidArgumentException: Auth guard [admin] 未定义
- ansible - 在 hosts.yaml 文件中创建的分组中执行 playbook
- kuzzle - Kuzzle 自行关闭
- javascript - 在 Web 开发中排列按钮 div 的正确方法