2017-06-19 124 views
0

我試圖在PHP上運行一些查詢後將數據導出到CSV中。到目前爲止,我能夠成功地做到這一點使用:在PHP中添加標題爲CSV導出

$temp = mysqli_query($link, $sql); 
    $fp = fopen("results.csv", "w"); 

    while($row = mysqli_fetch_array($temp, MYSQLI_ASSOC)){ 
    fputcsv($fp, $row); 
    } 

    fclose($fp); 

不過,我不知道如何讓我的SQL查詢的表單頭。

+1

只需將字段名稱打印爲第一行。 – Shadow

回答

0

的基礎是,只需將第一行作爲標題手動

$temp = mysqli_query($link, $sql); 
    $fp = fopen("results.csv", "w"); 

    fputcsv($fp, array("Header 1", "Header 2", "Header 3"); 

    while($row = mysqli_fetch_array($temp, MYSQLI_ASSOC)){ 
    fputcsv($fp, $row); 
    } 

    fclose($fp); 
0

未經檢驗的,但這樣的事情:

$added_headers = false; 
while($row = mysqli_fetch_array($temp, MYSQLI_ASSOC)){ 
    if(!$added_headers) { 
     fputcsv($fp, array_map(function($field) {return $field->name;}, mysqli_fetch_fields($temp))); 
     $added_headers = true; 
    } 
    fputcsv($fp, $row); 
} 
0

首先得到查詢的列標題。在放入數據前將它們放入csv中一次。

$flag = 0; // define a flag to check if header is printed to csv file 
while($row = mysqli_fetch_array($temp, MYSQLI_ASSOC)){ 
if(!flag){ // if header is not added 
    $header = array_keys($row); 
    fputcsv($fp, $header); // add header to csv file 
    $flag = 1; // update the flag 
    } 
    fputcsv($fp, $row); 
} 

未經測試,但至少它提供了一些想法。