如何从数据库中使用fputcsv时跳过一些字段 [英] How To Skip Some Fields From Database While Using fputcsv

查看:121
本文介绍了如何从数据库中使用fputcsv时跳过一些字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用以下代码用于获取mysql数据库的csv文件。但是我想跳过数据库中的一些字段,而以csv格式获取它。



例如。 Fields在数据库中是id,名字,姓氏,用户名,密码,电子邮件,成员日期,上次登录日期



通过fputcsv选项下载数据库时,



如何实现这个?



我当前的代码它从csv文件中的数据库中提取所有字段)如下:

 <? 
require_once(../ db.php);

$ contents =数据库ID,姓氏,名字,用户名,电子邮件,永久地址,通信地址,移动,出生日期,性别,付款方式,表格提交日期, Memebrship Expires On,Installment\ n;

$ user_query = mysql_query(SELECT * from table ORDER BY RAND());
$ content = 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'出生日期','性别','付款模式','表格提交日期','注册激活日期','成员资格到期','分期付款'

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中 - p>

然后只需确保您的列名称对应于字段顺序。


I am Using Following code For getting csv file of mysql database. But I want to skip some fields in database while getting it in csv format.

e.g. Fields In databse are id, firstname, last name, username, password, email, membership date, last login date

While downloading this database through fputcsv option, i doesn't want password, last login date in my csv file.

How to achieve this ?

My current code (which is extracting all fields from database in csv file) is as follows :

<?
 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()");

If you exclude them from your query - they won't appear in your CSV - simples!

Then just make sure your column names correspond to the field order.

这篇关于如何从数据库中使用fputcsv时跳过一些字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆