从php导出固定行数的csv

时间:2016-03-27 10:36:33

标签: php mysql csv

我正在使用此代码从mysql db生成csv文件。

我不知道如何处理导出csv的最多500行。 例如,如果我在查询中找到1100个结果,我希望得到3个csv文件,1个2个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);
?>

谢谢

1 个答案:

答案 0 :(得分:0)

计算要放入文件的行数。如果count可被500整除而没有余数(计数%500 == 0),则关闭您正在写入的文件并打开新文件。