我尝试使用此解决方案从我的数据库导出到CSV并且它可以工作,但所有数据都以一个colones导出。我想像在表数据库中那样在CSV中组合我。这段代码有什么问题?
<?php
// Database Connection
$host="localhost";
$uname="root";
$pass="";
$database = "a2zwebhelp";
$connection=mysql_connect($host,$uname,$pass);
echo mysql_error();
//or die("Database Connection Failed");
$selectdb=mysql_select_db($database) or
die("Database could not be selected");
$result=mysql_select_db($database)
or die("database cannot be selected <br>");
// Fetch Record from Database
$output = "";
$table = ""; // Enter Your Table Name
$sql = mysql_query("select * from $table");
$columns_total = mysql_num_fields($sql);
// Get The Field Name
for ($i = 0; $i < $columns_total; $i++) {
$heading = mysql_field_name($sql, $i);
$output .= '"'.$heading.'",';
}
$output .="\n";
// Get Records from the table
while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}
// Download the file
$filename = "myFile.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
echo $output;
exit;
?>
答案 0 :(得分:1)
如果您使用“\n
”作为行分隔符并在ieepad.exe中打开该文件,则无法将其正确识别为“回车换行”并且整个文件似乎只是“一条大线” - 但事实并非如此!
您可以使用“\r\n
”终止行以防止此效果。
为了让Excel自动识别,请使用;
作为字段分隔符,而不是,
。