【问题标题】:SQL, PHP export to CSVSQL、PHP 导出为 CSV
【发布时间】:2017-06-24 08:16:10
【问题描述】:

我创建了这个 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);

?>

【问题讨论】:

  • 第 0 列中的“静态”是什么意思?某种 ID?

标签: php sql csv phpmyadmin


【解决方案1】:

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

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

例子:

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

【讨论】:

    【解决方案2】:

    成功了

       $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;
        }
    

    【讨论】:

    • 如果您希望所有行的第一列中的值都相同(但我想知道为什么 :-)),则不需要 $i 变量。我更新了我的答案...
    【解决方案3】:

    试试这个:

    $header = array('Static', 'Stock code', 'QTY');
    
    $fp = fopen('inventory.csv', 'w');
    
    fputcsv($fp, $header);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多