36293-vm/export.php
Flatlogic Bot 8be23f0e45 Final2
2025-11-26 10:17:48 +00:00

43 lines
1.2 KiB
PHP

<?php
// --- DATABASE CONNECTION ---
require_once __DIR__ . '/db/config.php';
try {
$pdo = db();
$stmt = $pdo->query("SELECT * FROM roster ORDER BY fullNameEn");
$roster_data = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("Database error: " . $e->getMessage());
}
// --- CSV EXPORT ---
$filename = "roster_export_" . date('Y-m-d') . ".csv";
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="' . $filename . '"');
$output = fopen('php://output', 'w');
// Add headers
if (!empty($roster_data)) {
$roster_data_with_daily_cost = [];
foreach ($roster_data as $row) {
$row['dailyCost'] = $row['totalMonthlyCost'] / 20;
$roster_data_with_daily_cost[] = $row;
}
fputcsv($output, array_keys($roster_data_with_daily_cost[0]));
foreach ($roster_data_with_daily_cost as $row) {
fputcsv($output, $row);
}
} else {
// Add headers even if there is no data
$stmt = $pdo->query("SHOW COLUMNS FROM roster");
$columns = $stmt->fetchAll(PDO::FETCH_COLUMN);
$columns[] = 'dailyCost';
fputcsv($output, $columns);
}
fclose($output);
exit();