php - 自动将具有值的新行添加到从 mysql 生成的 csv 文件

标签 php mysql while-loop export-to-csv fputcsv

我创建了一个小脚本,用于生成一个包含来自 mysql 数据库的内容的 csv 文件。一切正常,但我正在努力解决一个问题......如您所见,我正在为 WooCommerce 产品导入生成一个文件。我的数据库仅包含 csv 所需的部分项目,因此我需要自动生成其他项目。 因此,在示例中,我想添加一行“type”并向所有项目添加一个值为“1”的值“simple”或“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);
}

最佳答案

你需要什么样的柱子。

简单添加

,' ' as testcolumn 

到您的选择语句。

在你做你的之前

fputcsv($output, $row);

你改变那个新列的值

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

当然你还需要改:

fputcsv($output, array(

如果你想在特定的地方创建新的Column,你不能使用

Select * anymore

对于静态文本,只需添加即可完成答案

,'some static text' as testcolumn 

关于php - 自动将具有值的新行添加到从 mysql 生成的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58289869/

相关文章:

php - Symfony 路由不工作 Apache 返回 404

php - 如何计算 PHP 数组中的非空条目?

php - require_once : failed to open stream: Permission denied(lampp)

php - API Key PHP/MYSQL 的作用

mysql - sql查询前10条记录

php - 无法从 sql 数据库解码 php 页面上的 html 实体

javascript - 如何编写自定义where条件原始查询?

java - while循环陷入无限循环

c - 多线程程序额外运行while循环次数

php - While 循环并更新数据