query($check_sql); if ($check_result->num_rows > 0) { $member_data = $check_result->fetch_assoc(); if ($member_data['payment_status'] == 1) { $sql = "UPDATE members SET is_approved = 1 WHERE id = $member_id"; if ($conn->query($sql)) { $success = "Member approved successfully!"; } } else { $success = "Cannot approve: Payment not completed yet!"; } } } // Build query with filters $where_clauses = ["1=1"]; // Search filter $search = isset($_GET['search']) ? clean_input($_GET['search']) : ''; if (!empty($search)) { $where_clauses[] = "(full_name LIKE '%$search%' OR email LIKE '%$search%' OR phone LIKE '%$search%')"; } // Verified filter if (isset($_GET['verified']) && $_GET['verified'] !== '') { $verified = (int)$_GET['verified']; $where_clauses[] = "is_verified = $verified"; } // Approved filter if (isset($_GET['approved']) && $_GET['approved'] !== '') { $approved = (int)$_GET['approved']; $where_clauses[] = "is_approved = $approved"; } // Payment filter if (isset($_GET['paid']) && $_GET['paid'] !== '') { $paid = (int)$_GET['paid']; $where_clauses[] = "payment_status = $paid"; } // Sorting $order_by = "created_at"; $order_dir = "DESC"; if (isset($_GET['sort'])) { $allowed_sorts = ['full_name', 'email', 'phone', 'created_at', 'is_verified', 'is_approved', 'payment_status']; if (in_array($_GET['sort'], $allowed_sorts)) { $order_by = $_GET['sort']; } } if (isset($_GET['dir']) && strtoupper($_GET['dir']) === 'ASC') { $order_dir = 'ASC'; } // Build final query $where_sql = implode(" AND ", $where_clauses); $sql = "SELECT * FROM members WHERE $where_sql ORDER BY $order_by $order_dir"; $result = $conn->query($sql); // Export functionality if (isset($_GET['export']) && $_GET['export'] === 'csv') { header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="members_' . date('Y-m-d_H-i-s') . '.csv"'); $output = fopen('php://output', 'w'); fputcsv($output, ['ID', 'Full Name', 'Email', 'Phone', 'Verified', 'Approved', 'Paid', 'Registered Date']); while ($row = $result->fetch_assoc()) { fputcsv($output, [ $row['id'], $row['full_name'], $row['email'], $row['phone'], $row['is_verified'] ? 'Yes' : 'No', $row['is_approved'] ? 'Yes' : 'No', $row['payment_status'] ? 'Yes' : 'No', date('Y-m-d H:i:s', strtotime($row['created_at'])) ]); } fclose($output); exit(); } $page_title = 'Manage Members'; include '../includes/header.php'; ?>
Total: num_rows; ?> member(s)