= :from"; $params[':from'] = $filter_from; } if ($filter_to !== '') { $sql .= " AND i.invoice_date <= :to"; $params[':to'] = $filter_to; } $sql .= " ORDER BY i.invoice_date ASC, i.id ASC"; $stmt = $pdo->prepare($sql); $stmt->execute($params); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename="invoices_export_' . date('Y-m-d') . '.csv"'); $out = fopen('php://output', 'w'); fputcsv($out, ['Datum', 'Rechnungsnummer', 'Kunde', 'Netto', 'USt', 'Brutto', 'Status'], ';'); foreach ($rows as $r) { fputcsv($out, [ date('d.m.Y', strtotime($r['invoice_date'])), $r['invoice_number'], $r['customer_name'], number_format($r['total_net'], 2, ',', ''), number_format($r['total_vat'], 2, ',', ''), number_format($r['total_gross'], 2, ',', ''), $r['paid'] ? 'bezahlt' : 'offen', ], ';'); } fclose($out); exit;