2016-03-27 5 views
0

このコードを使用して、mysql dbからcsvファイルを生成しています。csvをPHPから一定の行数でエクスポートする

最大500行のエクスポートCSVの処理方法はありません。 たとえば、クエリで1100件の結果が見つかった場合は、結果として3件のCSVファイル、1行に500行、3行目に100行あります。

<?php 
include "connection.php"; 
$filename = 'export.csv'; 

$fp = fopen($filename, "w"); 

$res = mysql_query("SELECT id, name, first_name, middle_name, last_name, phone FROM data WHERE active='1' "); 

$row = mysql_fetch_assoc($res); 
$line = ""; 
$comma = ""; 
foreach($row as $name => $value) { 
    $line .= $comma . '"' . str_replace('"', '""', $name) . '"'; 
    $comma = ","; 
} 
$line .= "\n"; 
fputs($fp, $line); 

mysql_data_seek($res, 0); 

while($row = mysql_fetch_assoc($res)) { 

    $line = ""; 
    $comma = ""; 
    foreach($row as $value) { 
     $line .= $comma . '"' . str_replace('"', '""', $value) . '"'; 
     $comma = ","; 
    } 
    $line .= "\n"; 
    fputs($fp, $line); 

} 

fclose($fp); 
?> 

+0

質問には答えませんが、.csvファイルの生成に役立ちます:http://php.net/fputcsv – Terminus

答えて

0

は、ファイルに入れている行の数をカウントしていただきありがとうございます。 countが余りなく500で割り切れる場合(count%500 == 0)、書き込み中のファイルを閉じて新しいファイルを開きます。

関連する問題