2012-03-06 70 views
1

我正在成功從查詢創建CSV文件並將文件保存在服務器上,但無法將csv包含每個查詢列名稱的標題字段。我正在從mysql_field_name創建一個標題數組,但無法將它寫入到csv,它只寫入表數據。任何想法/例子非常感謝。將查詢保存爲CSV文件,但無法獲取表格標題字段名稱以CSV格式寫入

//Create a CSV for 
$result = mysql_query("SELECT * FROM `car_details`"); 
if (!$result) die('Couldn\'t fetch records'); 
$num_fields = mysql_num_fields($result); 
$headers = array(); 
for ($i = 0; $i < $num_fields; $i++) 
{  
     $headers[] = mysql_field_name($result , $i); 
} 
$csv_filename = "Policy-" .$datetime.".csv"; 
$fp = fopen($csv_filename, 'w+'); 


if ($fp && $result) 
{  
     while ($row = mysql_fetch_row($result)) 
     { 
      fputcsv($fp, array_values($row)); 
     } 
} 
+0

嗯,你沒寫$頭陣列(即未使用的變量)。 – 2012-03-06 13:07:11

回答

0

嘗試將$ header作爲第一行寫入文件。

+0

當然 - 我只需要fputcsv($ fp,array_values($ headers));在寫入數據的while循環之前。有時不能看到樹木的木頭!感謝您的指導,感謝。 – Marc 2012-03-06 13:14:57

1

會是什麼樣子:

... 
if ($fp && $result) 
{ 
    fputcsv($fp, $headers); 
    while ($row = mysql_fetch_row($result)) 
    { 
     fputcsv($fp, array_values($row)); 
    } 
}