connect_error) { die("Connection failed: " . $db->connect_error); } $action = $_GET['action'] ?? 'home'; switch ($action) { case 'create_survey': case 'edit_survey': include 'survey_form.php'; exit; case 'view_survey': include 'view_survey.php'; exit; case 'view_responses': include 'view_responses.php'; exit; case 'delete_survey': $survey_id = $_GET['id'] ?? 0; if ($survey_id) { // Delete associated responses $db->query("DELETE FROM responses WHERE survey_id = $survey_id"); // Delete associated choices $db->query("DELETE choices FROM choices INNER JOIN pages ON choices.page_id = pages.id WHERE pages.survey_id = $survey_id"); // Delete associated pages $db->query("DELETE FROM pages WHERE survey_id = $survey_id"); // Delete the survey $db->query("DELETE FROM surveys WHERE id = $survey_id"); $_SESSION['message'] = "Survey and all associated data deleted successfully."; $_SESSION['message_type'] = "success"; } header("Location: index.php"); exit; default: $surveys = $db->query("SELECT s.*, COUNT(CASE WHEN r.status = 'Incomplete' THEN 1 END) as incomplete_count, COUNT(CASE WHEN r.status = 'Terminate' THEN 1 END) as terminate_count, COUNT(CASE WHEN r.status = 'Overquota' THEN 1 END) as overquota_count, COUNT(CASE WHEN r.status = 'QualityTerminate' THEN 1 END) as quality_terminate_count, COUNT(CASE WHEN r.status = 'Complete' THEN 1 END) as complete_count FROM surveys s LEFT JOIN responses r ON s.id = r.survey_id GROUP BY s.id ORDER BY s.created_at DESC"); $base_url = "http://{$_SERVER['HTTP_HOST']}/take_survey.php?id="; break; } ?> Dynamic Survey Application

Dynamic Survey Application

{$_SESSION['message']}"; unset($_SESSION['message']); unset($_SESSION['message_type']); } ?> Create New Survey

Available Surveys

num_rows > 0): ?> fetch_assoc()): ?>
Title Final Survey URL Incomplete Terminate Overquota Quality Terminate Complete Actions
View Edit Delete Export
No surveys available