0

我正在尝试将一些数据从数据库写入 .csv 文件。数据包含三列。现在一切顺利,我可以获取数据并将其写入 .csv 文件,但我也希望将数据分成不同的列。例如:

数据库列:名字、姓氏、年龄。.csv 文件列:A、B、C A 中的名字 Lastname is B C 中的年龄

我试过\t,但没有用。我在互联网上搜索了解决方案,但没有给我任何明确的描述。我对 PHP 还很陌生,所以从 2000 行的示例中获取正确的数据对我来说并不容易。

还有其他选择还是我搞砸了什么?

编辑:

include ('db.php');

$con = $db_con;

$query = "SELECT * FROM persons";
$result = mysqli_query($con, $query);
$file = "write.csv";
$open = fopen($file, 'w');
$count = 0;
fputcsv($open, array('FirstName', 'LastName', 'Age'));
while($row = mysqli_fetch_array($result))
{
    $persons[$num]['FirstName']         =   $row['FirstName'];
    $persons[$num]['LastName']      =   $row['LastName'];
    $persons[$num]['Age']           =   $row['Age'];
    $count++;

    foreach($persons as $person){
    fputcsv($open, $person);
    } 
}
fclose($open);
mysqli_close($con);

不包含我尝试分离数据的任何尝试。

4

2 回答 2

0

在 SQL 查询中仅选择所需的列

$query = "SELECT FirstName, LastName, Age FROM persons";

然后循环遍历编写 CSV 的结果

while($row = mysqli_fetch_array($result))
{
    $persons[$num]['FirstName']         =   $row['FirstName'];
    $persons[$num]['LastName']      =   $row['LastName'];
    $persons[$num]['Age']           =   $row['Age'];
    $count++;

    fputcsv($open, $result);
}

除非你想在代码的其他地方使用它,否则你甚至不需要费心 $persons 数组

于 2013-05-27T10:43:10.503 回答
0

将您的数据从数据库中获取到数组中..

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>
于 2013-05-27T10:18:16.287 回答