Go back"); } // Get categories $categories = fetchAll("SELECT category_id, category_name FROM expense_categories WHERE status = 'active' ORDER BY category_name"); // Get subcategories for current category $subcategories = fetchAll("SELECT subcategory_id, subcategory_name FROM expense_subcategories WHERE category_id = ? AND status = 'active' ORDER BY subcategory_name", "i", [$expense['category_id']]); // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $expense_date = $_POST['expense_date']; $category_id = intval($_POST['category_id']); $subcategory_id = !empty($_POST['subcategory_id']) ? intval($_POST['subcategory_id']) : null; $description = trim($_POST['description']); $units = floatval($_POST['units']); $unit_cost = floatval($_POST['unit_cost']); $total_amount = floatval($_POST['total_amount']); $payment_mode = $_POST['payment_mode']; // Validation if (empty($expense_date) || $category_id <= 0 || empty($description) || $units <= 0 || $unit_cost <= 0 || $total_amount <= 0) { $error = "Please fill all required fields with valid values"; } else { // Update expense if ($subcategory_id) { $sql = "UPDATE expenses SET expense_date = ?, category_id = ?, subcategory_id = ?, description = ?, units = ?, unit_cost = ?, total_amount = ?, payment_mode = ? WHERE expense_id = ?"; $params = [$expense_date, $category_id, $subcategory_id, $description, $units, $unit_cost, $total_amount, $payment_mode, $expense_id]; $types = "siisddsi"; } else { $sql = "UPDATE expenses SET expense_date = ?, category_id = ?, subcategory_id = NULL, description = ?, units = ?, unit_cost = ?, total_amount = ?, payment_mode = ? WHERE expense_id = ?"; $params = [$expense_date, $category_id, $description, $units, $unit_cost, $total_amount, $payment_mode, $expense_id]; $types = "sisddsi"; } if (executeQuery($sql, $types, $params)) { logActivity($_SESSION['user_id'], 'UPDATE', 'expenses', "Edited expense #$expense_id"); $success = "Expense entry updated successfully!"; // Reload expense data $expense = fetchSingle(" SELECT e.*, c.category_name, sc.subcategory_name, u.full_name as added_by_name FROM expenses e JOIN expense_categories c ON e.category_id = c.category_id LEFT JOIN expense_subcategories sc ON e.subcategory_id = sc.subcategory_id JOIN users u ON e.added_by = u.user_id WHERE e.expense_id = ? ", "i", [$expense_id]); } else { $error = "Failed to update expense entry"; } } } $page_title = 'Edit Expense'; require_once __DIR__ . '/../includes/header.php'; ?>

Edit Expense Entry #

Current Details


Edit Expense Entry

Cancel 🗑️ Delete Entry