将带有值的新行自动添加到从mysql生成的csv文件中

问题描述 投票:1回答:1

我创建了一个小脚本,我用mysql数据库中的内容生成了一个csv文件。一切工作正常,但我正在为一个问题而苦苦挣扎...正如您所看到的,我正在为WooCommerce产品导入生成文件。我的数据库仅包含csv所需的某些项目,因此我需要自动生成其他项目。因此,在示例中,我想添加“类型”行,并向所有项目添加值“ 1”或“简单”或“ in_stock”。我正在学习php,但不确定如何将其添加到while循环。

if (isset($_POST["export"])) {
    $connect = mysqli_connect("localhost", "root", "root", "dh_products");
    header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename=data.csv');
    $output = fopen("php://output", "w");

    fputcsv($output, array(
       'id',
       'type',
       'SKU',
       'Name',
       'Published',
       'Is featured?',
       'Visibility in catalog',
       'Short description',
       'Description',
       'dh_symmetry',
       'Date sale price starts',
       'Date sale price ends',
       'Tax status',
       'Tax class',
       'In stock?',
       'Stock',
       'Low stock amount',
       'Backorders allowed?',
       'Sold individually?',
       'Weight (kg)',
       'Length (cm)',
       'Width (cm)',
       'Height (cm)',
       'Allow customer reviews?',
       'Purchase note',
       'Sale price',
       'Regular price',
       'Categories',
       'Tags',
       'Shipping class',
       'Images',
       'Download limit',
       'Download expiry days',
       'Parent',
       'Grouped products',
       'Upsells',
       'Cross-sells',
       'External URL',
       'Button text',
       'Position',
      ));

    $query = "SELECT * from dh ORDER BY id DESC";

    $result = mysqli_query($connect, $query);

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

    fclose($output);
}
php mysql while-loop export-to-csv fputcsv
1个回答
1
投票

您需要哪种类型的列。

简单添加

,' ' as testcolumn 

到您的选择语句。

以及在创建你的

fputcsv($ output,$ row);

您更改了该新Cloumn的值

$row["testcolumn"} = xyz;
fputcsv($output, $row);

当然,您还需要更改:

fputcsv($ output,array(

如果要在特定位置使用新列,则不能使用

选择*不再

对于静态文本,只需添加答案,您只需添加

,'some static text' as testcolumn 
© www.soinside.com 2019 - 2024. All rights reserved.