php - 如何在使用 fputcsv 时跳过数据库中的某些字段

标签 php mysql csv fputcsv

我正在使用以下代码来获取 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/

相关文章:

python - 使用 flask-reSTLess 出现 404 错误

MySQL优化可以解决吗?

php - 如何使用 php 从 mysql 查询中提取表名?

Python 类型错误 : Cannot do slice stop value indexing on <class 'pandas.core.index.Int64Index' >

php - 从 www-data 触发的 Gradle 有时会失败——没有详细的错误输出

php - 子类别不显示在选择菜单中

java - 将csv文件导入MySQL数据库时出现无效的utf8字符串

python - 将多个不同数据类型的 Numpy 数组写入 CSV 文件的列

php - Yii2:如何记录每个请求的 Controller 和操作ID?

php - 获取字符串中的最后一个整数