【问题标题】:Concatenate static value while exporting CSV file using fputcsv in PHP在 PHP 中使用 fputcsv 导出 CSV 文件时连接静态值
【发布时间】:2016-06-29 11:02:34
【问题描述】:

我正在使用以下代码在 PHP 中使用 fputcsv 导出 CSV 文件。代码正常工作并生成 CSV 文件。所有的值/记录都来自数据库。但我想在某些列值中添加美元 ($) 符号。

用于导出 CSV 文件的代码。

        $filename1 = "All Months.csv";
        ob_end_clean();
        $fp1 = fopen('php://output', 'w');

        ob_start();
        header("Content-type: application/vnd.ms-excel");
        header('Content-Disposition: attachment; filename='.$filename1);

        fputcsv($fp1, array('Month', 'Year', 'Total Production', 'Credit Adjustments', 'Net Production', 'Hygiene Production', 'Collections', 'Account Receivable Total', 'New Patients', 'Break Even Points', 'Net Income', 'Hygiene %'));

        $query = $db->query("SELECT Month, Year, Total_Production, Credit_Adjustments, Net_Production, Hygiene_Production, Collections, AC_Receivable_Total, New_Patients, Break_Even_Points, Net_Income, Hygiene FROM clientsdata WHERE Client_Id = '".$userID."'");
        while($row = $query->fetch(PDO::FETCH_ASSOC)) {
            fputcsv($fp1, $row);
        } 

        exit();

导出文件的快照 -

【问题讨论】:

  • $row['field'] = '$' . $row['field'];
  • @splash58 - 谢谢它有效。实际上我使用的是这样的 $row->field = '$'.$row->field 并且它不起作用。再次感谢。
  • FETCH_ASSOC) 返回数组但不返回对象。这就是为什么它不起作用

标签: php mysql excel csv fputcsv


【解决方案1】:

如果你只想添加 $ 符号,你可以这样做:

while($row = $query->fetch(PDO::FETCH_ASSOC)) {
    $row['the_field_you_want'] = '$'.$row['the_field_you_want']
    fputcsv($fp1, $row);
}

【讨论】:

    【解决方案2】:

    在使用选择查询本身时,您可以连接 $ 符号。如下所示

    $query = $db->query("SELECT concat('$',Net_Income) as Net_Income FROM clientsdata WHERE Client_Id = '".$userID."'");
            while($row = $query->fetch(PDO::FETCH_ASSOC)) {
                fputcsv($fp1, $row);
            } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-27
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多