我在mysql数据库中有一个用户表,每个用户都有一个推荐码
列和一个已使用推荐码
列。
推荐码
保存用户的推荐码,可以与其他人分享。
已使用推荐码
保存来自其他用户的推荐码,用户在注册时输入。
例如:
user referral_code referral_code_used email
A TW89 email@email.com
---------------------------------------------------------------
B TW66 TW89 email2@email.com
在上面的示例中,用户B使用了用户A的推荐码
referral_code
。现在需要做的是将这些数据导出到一个CSV文件中,CSV文件应该长这样(有点像):
referrer referred
email@email.com email2@email.com
就是这样。
目前,我可以使用以下代码将整个 MySQL 导出为 CSV 文件,但我无法弄清楚我想要做什么,也不知道是否可能:
<?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, 'SELECT * FROM `users`');
while ($row = mysqli_fetch_assoc($rows)) {
fputcsv($output, $row);
}
fclose($output);
mysqli_close($db_conx);
exit();
?>
任何帮助都将不胜感激。
提前致谢。
编辑:
我尝试过这个方法,但它会生成一个空的CSV文件:
<?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();
?>
我完全没有看到任何错误!