我正在使用以下代码来获取 mysql 数据库的 csv 文件。但我想在获取 csv 格式时跳过数据库中的一些字段。
例如数据库中的字段包括 id、名字、姓氏、用户名、密码、电子邮件、成员(member)日期、上次登录日期
通过 fputcsv 选项下载此数据库时,我不需要 csv 文件中的密码、上次登录日期。
如何实现这一目标?
我当前的代码(从 csv 文件中的数据库中提取所有字段)如下:
<?
require_once("../db.php");
$contents="Database Id,Last Name,First Name,User Name,Email,Permanent Address,Communication Address,Mobile,Birth Date,Gender,Payment Mode,Form Submission Date,Registration Activation Date,Memebrship Expires On,Installment\n";
$user_query = mysql_query("SELECT * from table ORDER BY RAND()");
$contents = strip_tags($contents);
header("Content-Disposition: attachment; filename=my_members_".date('d-F-Y').".csv");
$out = fopen('php://output', 'w');
fputcsv($out, array('Database Id', 'Last Name', 'First Name' , 'User Name' , 'Email' , 'Permanent Address', 'Communication Address', 'Mobile', 'Birth Date', 'Gender', 'Payment Mode', 'Form Submission Date', 'Registration Activation Date', 'Membership Expires On', 'Installment'));
while ($row = mysql_fetch_assoc($user_query)) {
fputcsv($out, $row);
}
?>
最佳答案
$user_query = mysql_query("SELECT id, firstname, last name, username, email, membership date FROM table ORDER BY RAND()");
如果您将它们从查询中排除 - 它们不会出现在您的 CSV 中 - 很简单!
然后确保您的列名称与字段顺序相对应。
关于php - 如何在使用 fputcsv 时跳过数据库中的某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123508/