2013-05-27 47 views
0

我試圖將一些數據從數據庫寫入.csv文件。該數據包含三列。現在一切順利,我可以獲取數據並將其寫入.csv文件,但我也希望將數據分成不同的列。例如:使用php分隔excel單元格中的數據

數據庫列:名,姓,年齡。 .csv文件列:A,B,C 名字在一個 姓氏爲B 年齡用C

我試過\ T,沒有工作。我已經在網上搜索瞭解決方案,但它並沒有給我任何明確的描述。我對PHP非常陌生,所以對於我來說,爲我輸出2000行代碼的例子並不那麼容易。

有沒有其他的選擇,或我搞砸了什麼?

編輯:

include ('db.php'); 

$con = $db_con; 

$query = "SELECT * FROM persons"; 
$result = mysqli_query($con, $query); 
$file = "write.csv"; 
$open = fopen($file, 'w'); 
$count = 0; 
fputcsv($open, array('FirstName', 'LastName', 'Age')); 
while($row = mysqli_fetch_array($result)) 
{ 
    $persons[$num]['FirstName']   = $row['FirstName']; 
    $persons[$num]['LastName']  = $row['LastName']; 
    $persons[$num]['Age']   = $row['Age']; 
    $count++; 

    foreach($persons as $person){ 
    fputcsv($open, $person); 
    } 
} 
fclose($open); 
mysqli_close($con); 

不含試圖分開的數據我的任何企圖。

+1

顯示代碼...這是一個非常簡單的任務使用fputcsv()...但請注意,如果您使用雙擊打開文件,MS Excel使用特定於語言環境的分隔符,而您可以定義任何分隔符當使用MS Excel「import」時,它會問你你使用的是什麼分隔符 –

+0

用fputcsv編輯我的文章 – Goblo

+0

你的Excel語言環境分隔符最可能是逗號(,)或分號(;) –

回答

0

從數據庫中提取數據到數組..

<?php 

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'), 
    array('123', '456', '789'), 
    array('"aaa"', '"bbb"') 
); 

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

foreach ($list as $fields) { 
    fputcsv($fp, $fields); 
} 

fclose($fp); 
?> 
0

只選擇你想要的列在您的SQL查詢

$query = "SELECT FirstName, LastName, Age FROM persons"; 

,然後遍歷結果編寫CSV

while($row = mysqli_fetch_array($result)) 
{ 
    $persons[$num]['FirstName']   = $row['FirstName']; 
    $persons[$num]['LastName']  = $row['LastName']; 
    $persons[$num]['Age']   = $row['Age']; 
    $count++; 

    fputcsv($open, $result); 
} 

除非你想在代碼的其他地方使用它,否則你甚至不需要打擾$ persons數組

相關問題