SQL,PHP导出为CSV

时间:2017-02-07 07:15:23

标签: php sql csv phpmyadmin

我创建了这个php脚本,从我的数据库中提取一些数据并将其导出为CSV。

我已将标头设置为0,1,2,但我需要在第0列中添加一些静态文本。

例如静态,股票代码,QTY。

股票代码QTY正从数据库中提取。

任何帮助都将不胜感激。

我的代码如下。

// 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);

>

3 个答案:

答案 0 :(得分:0)

试试这个:

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

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

fputcsv($fp, $header);

答案 1 :(得分:0)

如果我理解正确,您希望将某种ID放入csv的第一列,因此您必须添加"静态"您将从sql结果中获取的数组的第一个位置中的项目。

编辑 - 更新为在第一列中具有静态值

示例:

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

答案 2 :(得分: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;
    }