prepare('SELECT cs.*, s.title, s.description FROM client_surveys cs JOIN surveys s ON cs.survey_id = s.id WHERE cs.id = ? AND cs.client_id = ?'); $stmt->execute([$client_survey_id, $client_id]); $client_survey = $stmt->fetch(); if (!$client_survey) { header('Location: surveys.php'); exit; } // Fetch survey questions $questions_stmt = db()->prepare('SELECT * FROM survey_questions WHERE survey_id = ? ORDER BY id'); $questions_stmt->execute([$client_survey['survey_id']]); $questions = $questions_stmt->fetchAll(); // Handle submission if ($_SERVER['REQUEST_METHOD'] === 'POST' && $client_survey['status'] === 'pending') { foreach ($questions as $question) { $response_value = $_POST['responses'][$question['id']] ?? ''; if (is_array($response_value)) { $response_value = implode(', ', $response_value); } $stmt = db()->prepare('INSERT INTO survey_responses (client_survey_id, question_id, response) VALUES (?, ?, ?)'); $stmt->execute([$client_survey_id, $question['id'], $response_value]); } // Mark as completed $stmt = db()->prepare('UPDATE client_surveys SET status = \'completed\', completed_at = NOW() WHERE id = ?'); $stmt->execute([$client_survey_id]); header('Location: surveys.php'); exit; } // If already completed, fetch responses $responses = []; if ($client_survey['status'] === 'completed') { $responses_stmt = db()->prepare('SELECT question_id, response FROM survey_responses WHERE client_survey_id = ?'); $responses_stmt->execute([$client_survey_id]); $responses_data = $responses_stmt->fetchAll(); foreach ($responses_data as $response) { $responses[$response['question_id']] = $response['response']; } } ?>