2016-03-21 19 views
0

hy! 我已將我的數據庫表中的所有信息提取到csv文件中。 現在我試圖給每一行標題,並希望使其顯示像鍵,值對。爲此,我做了邏輯,但那不起作用。 請提出最好的解決方案。標題行不顯示在csv文件中

$sql = "select * from log"; 
$result = mysqli_query($link, $sql) or die("Selection Error " . mysqli_error($connection)); 

$fp = fopen('logInfo.csv', 'w'); 

while($row = mysqli_fetch_assoc($result) && $row = fgetcsv($fp)) 
{ 
    $all_rows = array(); 
    $header = null; 

    if ($header === null) { 
     $header = $row; 
     continue; 
    } 
    $all_rows[] = array_combine($header, $row); 

    fputcsv($fp, $row);  
} 
+0

CSV文件不具有鍵/值對,只是原始數據.....當你使用fputcsv()只有數組值被寫入 –

+0

你可能會發現文件中的第一行列出標題 –

+0

@MarkBaker 我只想給每一行標題?我怎樣才能做到這一點 ? –

回答

1

如果你想有一個標題行作爲CSV文件的第一行

$header = null; 
while($row = mysqli_fetch_assoc($result)) 
{ 
    if ($header === null) { 
     $header = array_keys($row); 
     fputcsv($fp, $header);  
    } 

    fputcsv($fp, $row);  
} 
+0

Thanx先生。 它爲我工作! 上帝保佑你 –

2

您每次重置$header
試試這個:

$header = null; 
while($row = mysqli_fetch_assoc($result)) 
{ 
    if ($header === null) { 
     $header = $row; 
     continue; 
    } 
    fputcsv($fp, $header); 
    fputcsv($fp, $row); 

}

+0

錯誤:..數組到字符串轉換行fputcsv($ fp,$ all_rows); –

+0

修復了錯誤。但我不明白你想要他們在csv中的確切程度。 csv不包含鍵值對。 –

+0

對不起,我只是想顯示來自數據庫的每個字段的標題 –