Php到csv导出,在单独的单元格中使用逗号分隔符

Php到csv导出,在单独的单元格中使用逗号分隔符,php,mysql,excel,csv,export,Php,Mysql,Excel,Csv,Export,我在这里找到了这个代码,我应该在我的网站上使用它。但,尽管一切看起来都很好,但不知何故,分隔符不起作用。如您所见,我将逗号作为分隔符,当mysql中有分隔符时,我将其再次更改为逗号,以便在单元格中分隔 但是,我得到了一个结果,所有的东西都在第一个单元格中。有逗号,但没有拆分。所以,如果我在excel数据>分隔符中单击并用逗号分隔,那么就可以了 如何解决这个问题?我是新来的,所以这里有一个简单的具体变化吗 $link = mysql_connect($host, $user, $pass) or

我在这里找到了这个代码,我应该在我的网站上使用它。但,尽管一切看起来都很好,但不知何故,分隔符不起作用。如您所见,我将逗号作为分隔符,当mysql中有分隔符时,我将其再次更改为逗号,以便在单元格中分隔

但是,我得到了一个结果,所有的东西都在第一个单元格中。有逗号,但没有拆分。所以,如果我在excel数据>分隔符中单击并用逗号分隔,那么就可以了

如何解决这个问题?我是新来的,所以这里有一个简单的具体变化吗

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");
$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$columnName = array();
if (mysql_num_rows($result) > 0) 
{
    while ($row = mysql_fetch_assoc($result)) 
    {
        $columnName[] = $row['Field'];
        $i++;
    }
}
$columnName[] .= "\n";
$needle = "|";
$values = mysql_query("SELECT * FROM ".$table." where id=".$id."");
while ($rowr = mysql_fetch_row($values)) 
{
    for ($j=0;$j<$i;$j++) 
    {
        $colName = $columnName[$j];
        $count = strlen($rowr[$j]) - strlen(str_replace(str_split($needle), "", $rowr[$j]));
        if ($count > 1)
        {
            for($p=0;$p<$count;$p++)
            {
                $colName .= ",";
            }
            $columnName[$j] = $colName;
            $csv_output_column_names .= $columnName[$j].", ";
            $csv_output_column_values .= str_replace("|",",",$rowr[$j]).", ";
        }
        else 
        {
            $csv_output_column_names .= $columnName[$j]. ", ";
            $csv_output_column_values .= $rowr[$j] .", ";
        }
    }
    $csv_output_column_values .= "\n";
}
$csv_output = $csv_output_column_names."\n".$csv_output_column_values;
$filename = $file."_".date("Y-m-d");
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;
?>

不要手动生成CSV文件。PHP有内置函数来完成这项工作:是的,我尝试过这个解决方案,但上面的代码没有成功,或者我不知道如何调整它。@user3392725您的代码对我来说很好。。