prepare(" SELECT * FROM accounts WHERE user_id = ? ORDER BY FIELD(account_type, 'bank', 'card', 'cash', 'other'), id ASC "); $stmt->execute([$uid]); $accounts = $stmt->fetchAll(); $cardDueMap = []; $stmt = $pdo->prepare(" SELECT t.account_id, t.billing_year_month, COALESCE(SUM(t.amount),0) total_amount FROM transactions t JOIN accounts a ON a.id=t.account_id WHERE t.user_id=? AND t.transaction_type='expense' AND a.account_type='card' AND a.card_kind='credit' AND COALESCE(t.is_installment,0)=0 AND t.billing_year_month IN (?,?) GROUP BY t.account_id,t.billing_year_month "); $stmt->execute([$uid,$ym,$nextYm]); foreach ($stmt->fetchAll() as $row) { $aid = (int)$row['account_id']; $billYm = $row['billing_year_month']; $cardDueMap[$aid][$billYm] = ($cardDueMap[$aid][$billYm] ?? 0) + (float)$row['total_amount']; } $stmt = $pdo->prepare(" SELECT i.account_id AS account_id, s.bill_year_month, COALESCE(SUM(s.total_amount),0) total_amount FROM installment_schedules s JOIN installments i ON i.id=s.installment_id WHERE i.user_id=? AND s.is_billed=0 AND s.total_amount>0 AND s.bill_year_month IN (?,?) GROUP BY i.account_id,s.bill_year_month "); $stmt->execute([$uid,$ym,$nextYm]); foreach ($stmt->fetchAll() as $row) { $aid = (int)$row['account_id']; $billYm = $row['bill_year_month']; $cardDueMap[$aid][$billYm] = ($cardDueMap[$aid][$billYm] ?? 0) + (float)$row['total_amount']; } require __DIR__ . '/../app/views/header.php'; ?>