0 ? 'WHERE ' . implode(' AND ', $where) : ''; // Fetch receipts $receipts = $con->query("SELECT fc.*, s.name, s.enrollment_no, s.father, s.mobile, c.course_name, ce.institute_name, ce.center_number, fct.category_name FROM fee_collections fc LEFT JOIN students s ON fc.student_id = s.id LEFT JOIN courses c ON s.course_id = c.id LEFT JOIN centers ce ON s.center_id = ce.id LEFT JOIN fee_categories fct ON fc.category_id = fct.id $where_clause ORDER BY fc.id DESC"); // Summary $summary = $con->query("SELECT COUNT(*) as total_receipts, SUM(fc.paid_amount) as total_amount, COUNT(DISTINCT fc.student_id) as total_students, SUM(CASE WHEN fc.status='Paid' THEN 1 ELSE 0 END) as fully_paid FROM fee_collections fc LEFT JOIN students s ON fc.student_id = s.id $where_clause")->fetch_assoc(); // Centers & filters $centers = $con->query("SELECT * FROM centers ORDER BY institute_name ASC"); ?>
| Receipt No. | Date | Student Name | Enroll. No. | Course | Center | Category | Amount | Due | Mode | Txn No. | Status | Action |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GSOS/= str_pad($r['id'], 6, '0', STR_PAD_LEFT) ?> | = date('d-M-Y', strtotime($r['payment_date'])) ?> | = htmlspecialchars($r['name'] ?? 'N/A') ?> | = htmlspecialchars($r['enrollment_no'] ?? '') ?> | = htmlspecialchars($r['course_name'] ?? 'N/A') ?> | = htmlspecialchars($r['institute_name'] ?? 'N/A') ?> | = htmlspecialchars($r['category_name'] ?? '') ?> | ₹ = number_format($r['paid_amount'], 2) ?> | ₹ = number_format($r['due_amount'], 2) ?> | = htmlspecialchars($r['payment_mode'] ?? '') ?> | = htmlspecialchars($r['transaction_no'] ?? 'N/A') ?> | = $r['status'] ?> | |
| No receipts found | ||||||||||||
| Total | ₹ = number_format($grand, 2) ?> | |||||||||||