PHP从数据库读取并从表创建csv文件

时间:2017-06-26 06:44:28

标签: php database csv echo

我有一个数据库,里面有一个表。

该表包含列:Animal,Name和Age。表格中的信息是:

动物|名称|年龄

狗|艾米| 2

狗|伯特| 1

狗|查理| 6

猫|唐| 2

猫|艾莉| 7

鱼|弗兰克| 1

我想通过php将此表转换为3个单独的csv文件。因此,一个回复的文件将被命名为Dog,另一个名为Cat,最后一个将是Fish,所有这些文件都通过链接包含在内。

我能够获取一个PHP文件来读取一个数据库中的所有表,但是当我可以将所有数据放入一个表中时,继续创建新表似乎效率低下。只是无法弄清楚如何将它们与动物分开。

if($result !== false) { // if at least one table in database
    if($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
        echo '<br />'. $row['Tables_in_abc1'];
        header('Content-type: text/csv');
        header('Content-disposition: attachment;filename=file1.csv'); 
        $stdout = fopen('php://stdout', 'w'); 
        fputcsv($stdout, $row);
        }
     }
 }

1 个答案:

答案 0 :(得分:1)

在sql中使用where cause,如下所示:

select * from YOUR_TABLE where Animal = "Dog"

$result只会是狗。