2017-02-07 111 views
1

我已經創建了這個php腳本來從我的數據庫中提取一些數據並將其導出到CSV。SQL,PHP導出爲CSV

我得頭設置爲0,1,2,但我需要一些靜態文本在列0

如靜,股票代碼,數量。

股票代碼,數量正在從數據庫中提取。

任何幫助,將不勝感激。

我的代碼如下。 ?

// open connection to mysql database 
$connection = mysqli_connect($host, $username, $password, $dbname) or die("Connection Error " . mysqli_error($connection)); 

// fetch mysql table rows 
$sql = "select ManufacturerPartNumber, (QuantityOnHand - QuantityOnSalesOrder) from iteminventory"; 
$result = mysqli_query($connection, $sql) or die("Selection Error " . mysqli_error($connection)); 

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

    fputcsv($fp, array('0', '1', '2')); 


while($row = mysqli_fetch_assoc($result)) 
{ 
    fputcsv($fp, $row); 
} 

fclose($fp); 

//close the db connection 
mysqli_close($connection); 

>

+1

你所說的 「靜態」 列0意思?某種類型的ID? –

回答

0

如果我理解正確的話,你想把某種ID到您的CSV文件的第一列,所以你必須添加您將從sql結果中獲得數組的第一個位置的「static」項。

編輯 - 更新中的第一列具有靜態值

例子:

... 
while($row = mysqli_fetch_assoc($result)) 
{ 
    array_unshift($row, 0); 
    fputcsv($fp, $row); 
} 
... 
0

試試這個:

$header = array('Static', 'Stock code', 'QTY'); 

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

fputcsv($fp, $header); 
0

這個工作

$id = 0; // or whatever else you want to have in the first column 
    while($row = mysqli_fetch_assoc($result)) 
    { 
    array_unshift($row, $id); 
    fputcsv($fp, $row); 
    $id; 
    } 
+0

如果你想在所有行的第一列中使用相同的值(但我想知道爲什麼:-)),那麼不需要$ i變量。我更新了我的答案... –