我正在尝试将数据库中的一些数据写入.csv文件。数据包含三列。现在一切顺利,我可以获取数据并将其写入.csv文件,但我也希望将数据分成不同的列。例如:
数据库列:名字,姓氏,年龄。 .csv文件列:A,B,C A中的名字 姓氏是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);
不包含尝试分隔数据的任何尝试。
答案 0 :(得分: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);
?>
答案 1 :(得分: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数组