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; } ?>
| Title | Final Survey URL | Incomplete | Terminate | Overquota | Quality Terminate | Complete | Actions |
|---|---|---|---|---|---|---|---|
| = htmlspecialchars($survey['title']) ?> | = $survey['incomplete_count'] ?> | = $survey['terminate_count'] ?> | = $survey['overquota_count'] ?> | = $survey['quality_terminate_count'] ?> | = $survey['complete_count'] ?> | View Edit Delete Export | |
| No surveys available | |||||||