Finally extracting questions from the survey. Additional table added to hold questions

This commit is contained in:
2025-05-31 00:16:39 +01:00
parent 437e1afede
commit dc68e98d92
7 changed files with 213 additions and 122 deletions

View File

@@ -15,14 +15,29 @@ if (php_sapi_name() === 'cli') {
exit;
}
$qid = $_POST['qid'];
$q1 = filter_input(INPUT_POST, 'q1', FILTER_VALIDATE_INT);
$q2 = filter_input(INPUT_POST, 'q2', FILTER_VALIDATE_INT);
$q3 = filter_input(INPUT_POST, 'q3', FILTER_VALIDATE_INT);
$input = $_POST['survey'] ?? '';
if (preg_match('/^SV_[a-zA-Z0-9]+$/', $input)) {
// Input is valid
$survey = $input;
} else {
// Invalid format
die("Invalid survey ID format.");
}
$q1 = filter_input(INPUT_POST, 'Q1', FILTER_VALIDATE_INT);
$q2 = filter_input(INPUT_POST, 'Q2', FILTER_VALIDATE_INT);
$q3 = filter_input(INPUT_POST, 'Q3', FILTER_VALIDATE_INT);
}
$qualifier = "";
$qualifier = " AND s.surveyId = '${survey}'";
if ($q1 > 0) {
$qualifier.=" AND r.Q1 = " . $q1;
$qualifier.=" AND r.Q1 = " . $q1;
}
if ($q2 > 0) {
@@ -52,7 +67,7 @@ $options = [
try {
$pdo = new PDO($dsn, $user, $pass, $options);
$sql = "
$baseSql = "
SELECT
a.value,
COUNT(*) AS count,
@@ -61,12 +76,16 @@ try {
r.Q3
FROM Answers a
INNER JOIN Responses r ON a.responseId = r.id
WHERE a.QID = :qid' . $quantifier . '
INNER JOIN Surveys s ON a.surveyId = s.id
WHERE a.QID = :qid
";
$sql = $baseSql . $qualifier . "
GROUP BY a.value, r.Q1, r.Q2, r.Q3
ORDER BY a.value;
";
echo $sql;
//echo $sql;
$stmt = $pdo->prepare($sql);
$stmt->execute(['qid' => $qid]);