query('SELECT * FROM properties ORDER BY created_at DESC'); $properties = $stmt->fetchAll(PDO::FETCH_ASSOC); } elseif ($page === 'dashboard') { $stmt = $db->query('SELECT COUNT(*) FROM properties'); $total_properties = $stmt->fetchColumn(); $stmt = $db->query('SELECT COUNT(*) FROM tenants'); $total_tenants = $stmt->fetchColumn(); $stmt = $db->query('SELECT COUNT(*) FROM maintenance_requests'); $total_requests = $stmt->fetchColumn(); $stmt = $db->query('SELECT SUM(amount) FROM payments'); $total_payments = $stmt->fetchColumn(); // Data for Payments Chart $stmt = $db->query("SELECT MONTH(payment_date) as month, SUM(amount) as total FROM payments WHERE YEAR(payment_date) = YEAR(CURDATE()) GROUP BY MONTH(payment_date)"); $payment_chart_data = $stmt->fetchAll(PDO::FETCH_ASSOC); $payment_labels = []; $payment_values = []; foreach ($payment_chart_data as $data) { $payment_labels[] = date('F', mktime(0, 0, 0, $data['month'], 10)); $payment_values[] = $data['total']; } // Data for Maintenance Requests Chart $stmt = $db->query("SELECT status, COUNT(*) as count FROM maintenance_requests GROUP BY status"); $request_chart_data = $stmt->fetchAll(PDO::FETCH_ASSOC); $request_labels = []; $request_values = []; foreach ($request_chart_data as $data) { $request_labels[] = $data['status']; $request_values[] = $data['count']; } } elseif ($page === 'tenants') { $stmt = $db->query('SELECT t.*, p.name AS property_name FROM tenants t LEFT JOIN properties p ON t.property_id = p.id ORDER BY t.created_at DESC'); $tenants = $stmt->fetchAll(PDO::FETCH_ASSOC); } elseif ($page === 'payments') { $stmt = $db->query('SELECT pay.*, t.name AS tenant_name, p.name AS property_name FROM payments pay JOIN tenants t ON pay.tenant_id = t.id JOIN properties p ON pay.property_id = p.id ORDER BY pay.payment_date DESC'); $payments = $stmt->fetchAll(PDO::FETCH_ASSOC); } elseif ($page === 'maintenance') { $stmt = $db->query('SELECT mr.*, p.name AS property_name, t.name AS tenant_name FROM maintenance_requests mr LEFT JOIN properties p ON mr.property_id = p.id LEFT JOIN tenants t ON mr.tenant_id = t.id ORDER BY mr.reported_date DESC'); $maintenance_requests = $stmt->fetchAll(PDO::FETCH_ASSOC); } } catch (PDOException $e) { die("DB ERROR: " . $e->getMessage()); } $success_message = ''; if (isset($_GET['success'])) { switch ($_GET['success']) { case 1: $success_message = "Payment added successfully!"; break; case 2: $success_message = "Payment updated successfully!"; break; case 3: $success_message = "Payment deleted successfully!"; break; } } $error_message = ''; if (isset($_GET['error'])) { switch ($_GET['error']) { case 1: $error_message = "Error: Missing payment ID."; break; case 2: $error_message = "Error: Could not delete payment."; break; } } require_once 'templates/header.php'; ?>

Dashboard

Total Properties

Total Tenants

Maintenance Requests

Total Payments

$

Monthly Payments (Current Year)
Maintenance Requests Status

Properties

Add New Property
Name Address Rent Actions
$ Edit
No properties found.
Name Email Property Lease End Status Actions
Edit
No tenants found.
Tenant Property Amount Payment Date Actions
$ Edit
No payments found.

Maintenance Requests

Add New Request
Property Tenant Description Status Reported Date Actions
Edit
No maintenance requests found.