prepare("SELECT slug FROM macro_areas WHERE id = ? AND client_id = ?"); $stmt->execute([$id, $client_id]); $macro_area = $stmt->fetch(); // If the macro area exists, proceed with checks and deletion if ($macro_area) { $slug = $macro_area['slug']; // Check for dependent expenses $stmt = $pdo->prepare("SELECT COUNT(*) FROM expenses WHERE category = ? AND client_id = ?"); $stmt->execute([$slug, $client_id]); $expense_count = $stmt->fetchColumn(); if ($expense_count > 0) { // Dependencies found, set error message and redirect $_SESSION['error_message'] = "Não é possível excluir a macro área. Existem {$expense_count} despesas associadas."; } else { // No dependencies, proceed with deletion $stmt = $pdo->prepare("DELETE FROM macro_areas WHERE id = ? AND client_id = ?"); $stmt->execute([$id, $client_id]); $_SESSION['success_message'] = "Macro área excluída com sucesso."; } } // If the macro area was not found, we just redirect without any message. } else { // ID not specified in URL $_SESSION['error_message'] = "ID da macro área não especificado."; } // Redirect back to the list in all cases header('Location: /Backend/macro_areas.php'); exit; ?>