prepare("SELECT id, title FROM drills WHERE coach_id = ? ORDER BY title"); $stmt->execute([$coach_id]); $drills = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = trim($_POST['name'] ?? ''); $description = trim($_POST['description'] ?? ''); $selected_drills = $_POST['drills'] ?? []; if (empty($name)) $errors[] = 'Session name is required.'; if (empty($selected_drills)) $errors[] = 'You must select at least one drill.'; if (empty($errors)) { try { $pdo->beginTransaction(); // Insert the new session $stmt = $pdo->prepare("INSERT INTO training_sessions (coach_id, name, description) VALUES (?, ?, ?)"); $stmt->execute([$coach_id, $name, $description]); $session_id = $pdo->lastInsertId(); // Link drills to the session $stmt = $pdo->prepare("INSERT INTO training_session_drills (session_id, drill_id, sequence) VALUES (?, ?, ?)"); $sequence = 0; foreach ($selected_drills as $drill_id) { $stmt->execute([$session_id, $drill_id, ++$sequence]); } $pdo->commit(); header('Location: training_sessions.php?status=created'); exit(); } catch (PDOException $e) { $pdo->rollBack(); $errors[] = "Database error: " . $e->getMessage(); } } } ?>

Create a New Training Session

You have no drills to add. Create one now.
Select one or more drills to include in this session.