0

私はmysqlデータベースのcsvファイルを取得するために次のコードを使用しています。しかし、データベースのいくつかのフィールドをスキップして、csv 形式で取得したいと考えています。

例: データベース内のフィールドは、ID、名、姓、ユーザー名、パスワード、電子メール、メンバーシップ日、最終ログイン日です。

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);
 }

 ?>
4

2 に答える 2

1
 $user_query = mysql_query("SELECT id, firstname, last name, username, email, membership date FROM table ORDER BY RAND()");

それらをクエリから除外すると、CSV には表示されません。

次に、列名がフィールドの順序に対応していることを確認してください。

于 2014-06-09T15:30:39.810 に答える