gpt4 book ai didi

php - 导出为 CSV 与表 PHP 不同

转载 作者:行者123 更新时间:2023-11-30 22:34:03 24 4
gpt4 key购买 nike

我正在尝试将表格数据下载为 CSV 格式。其中一个字段中的数据包含“,”。例如:母鹿,约翰

当我下载 csv 文件时,逗号后的数据移到下一列。但我想要整个数据,即在同一列中包括逗号。

我使用的代码如下:

<?php
include('dbconfig.php');
//header to give the order to the browser
header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename=download.csv');
//select table to export the data
$sql ="SELECT * FROM tablename";
$select_table=mysqli_query($db, $sql);
$rows = mysqli_fetch_assoc($select_table);

if ($rows)
{
getcsv(array_keys($rows));
}
while($rows)
{
getcsv($rows);
$rows = mysqli_fetch_assoc($select_table);
}

// get total number of fields present in the database
function getcsv($no_of_field_names)
{
$separate = '';


// do the action for all field names as field name
foreach ($no_of_field_names as $field_name)
{
if (preg_match('/\\r|\\n|,|"/', $field_name))
{
$field_name = '' . str_replace('<em>', '', $field_name) . '';
}
echo $separate . $field_name;

//sepearte with the comma
$separate = ',';
}

//make new row and line
echo "\r\n";
}
?>

谁能帮我解决这个问题。谢谢

最佳答案

确保转义 ,。包含敏感字符(如 \n)的值通常包含在 " 中。

所以你的输出可以是:

 "Doe, John",52,New York

您可以编写自己的转义函数或使用 PHP fputcsv .它写入一个有点不方便的文件处理程序,但您可以将其设为 stdout

$handle = fopen("php://stdout");
fputcsv($handle, array("Doe, John", 52, "New York"));

关于php - 导出为 CSV 与表 PHP 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com