prepare(" SELECT u.*, up.points as current_points, up.total_earned, up.total_redeemed, mv.mobile_number, mv.is_verified as mobile_verified, mv.verified_at as mobile_verified_at FROM users u LEFT JOIN user_points up ON u.id = up.user_id LEFT JOIN mobile_verifications mv ON u.id = mv.user_id WHERE u.id = ? "); $stmt->execute([$member_id]); $member = $stmt->fetch(); if (!$member) { header('Location: members.php'); exit; } // Fetch profiler data $profilerStmt = $panelPdo->prepare(" SELECT section, question_id, response, created_at FROM user_profiler WHERE user_id = ? ORDER BY section, created_at "); $profilerStmt->execute([$member_id]); $profilerData = $profilerStmt->fetchAll(); // Group profiler by section $profilerBySection = []; foreach ($profilerData as $data) { $profilerBySection[$data['section']][] = $data; } // Fetch profiler completion $completionStmt = $panelPdo->prepare(" SELECT * FROM profiler_completion WHERE user_id = ? "); $completionStmt->execute([$member_id]); $completionData = $completionStmt->fetchAll(); // Fetch point transactions $transactionsStmt = $panelPdo->prepare(" SELECT * FROM point_transactions WHERE user_id = ? ORDER BY created_at DESC LIMIT 50 "); $transactionsStmt->execute([$member_id]); $transactions = $transactionsStmt->fetchAll(); // Fetch redemption requests $redemptionsStmt = $panelPdo->prepare(" SELECT * FROM redemption_requests WHERE user_id = ? ORDER BY created_at DESC "); $redemptionsStmt->execute([$member_id]); $redemptions = $redemptionsStmt->fetchAll(); // Fetch support tickets $ticketsStmt = $panelPdo->prepare(" SELECT * FROM support_tickets WHERE user_id = ? ORDER BY created_at DESC LIMIT 10 "); $ticketsStmt->execute([$member_id]); $tickets = $ticketsStmt->fetchAll(); } catch (Exception $e) { error_log("Member view error: " . $e->getMessage()); header('Location: members.php'); exit; } include 'includes/header.php'; ?>
👤

Member Email

✓ Verified' : '✗ Not Verified'; ?>
💰

Current Points

Available Balance
📈

Total Earned

Lifetime Earnings
💳

Total Redeemed

Lifetime Redemptions

Basic Information

diff($dob)->y; echo $dob->format('F j, Y') . " (Age: $age)"; ?>

✓ Verified'; } ?>

✓ Completed' : '⏳ Pending'; ?>

Profiler Information

Completion Status

%

of questions answered • Completed on

Profiler Responses

$responses): ?>

No profiler data available for this member.

Points Transaction History

No transaction history available.

Redemption Requests

Request ID Points Amount (INR) UPI ID Status Requested Processed
Pending'; } ?>

No redemption requests found.

Support Tickets

#

Created:

No support tickets found.