query('SELECT setting_key, setting_value FROM settings'); $settings = $settings_stmt->fetchAll(PDO::FETCH_KEY_PAIR); $coach_mode = $settings['coach_mode'] ?? 'multi'; $coach_id = $_GET['id'] ?? null; $coach = null; $error_message = ''; $reviews = []; $average_rating = 0; if ($coach_id) { try { $pdo = db(); $stmt = $pdo->prepare("SELECT * FROM coaches WHERE id = ?"); $stmt->execute([$coach_id]); $coach = $stmt->fetch(); if (!$coach) { $error_message = 'Coach not found.'; } else { $stmt = $pdo->prepare("SELECT r.*, c.name as client_name FROM reviews r JOIN clients c ON r.client_id = c.id WHERE r.coach_id = ? ORDER BY r.created_at DESC"); $stmt->execute([$coach_id]); $reviews = $stmt->fetchAll(); $portfolio_stmt = $pdo->prepare("SELECT * FROM coach_portfolio_items WHERE coach_id = ? ORDER BY created_at DESC"); $portfolio_stmt->execute([$coach_id]); $portfolio_items = $portfolio_stmt->fetchAll(); if (count($reviews) > 0) { $total_rating = 0; foreach ($reviews as $review) { $total_rating += $review['rating']; } $average_rating = round($total_rating / count($reviews), 1); } } } catch (PDOException $e) { $error_message = 'Error fetching coach details: ' . $e->getMessage(); } } else { $error_message = 'No coach ID specified.'; } ?> <?php echo $coach ? htmlspecialchars($coach['name']) : 'Coach Profile'; ?> - CoachConnect

Portfolio

<?php echo htmlspecialchars($item['caption']); ?>

prepare('SELECT * FROM service_packages WHERE coach_id = ?'); $package_stmt->execute([$coach_id]); $packages = $package_stmt->fetchAll(PDO::FETCH_ASSOC); ?>

Coaching Packages

prepare('SELECT SUM(quantity) as total_sessions FROM package_service_items WHERE package_id = ? AND service_type IN ("one_on_one", "group_session")'); $items_stmt->execute([$package['id']]); $items_result = $items_stmt->fetch(); $total_sessions = $items_result['total_sessions'] ?? 0; ?>

$ $ / for installments 0): ?> for sessions
Purchase
Type: | Client Limit: | Starts: | Ends:
prepare("SELECT cp.*, sp.name FROM client_packages cp JOIN service_packages sp ON cp.package_id = sp.id WHERE cp.client_id = ? AND sp.coach_id = ? AND cp.sessions_remaining > 0"); $packages_stmt->execute([$client_id, $coach_id]); $client_packages = $packages_stmt->fetchAll(); if ($client_packages) { echo ''; } } ?>

Select a Date

Available Time Slots

Reviews

0): ?>

Average Rating: / 5

No reviews yet.

Error

Back to Home