Added Filters table

This commit is contained in:
2025-05-30 21:27:29 +01:00
parent a6793ac03e
commit 437e1afede
5 changed files with 188 additions and 9 deletions

View File

@@ -4,6 +4,9 @@ header('Content-Type: application/json');
if (php_sapi_name() === 'cli') {
echo "Running from command line.\n";
$qid="QID2_7";
$q1 = 1;
$q2 = 2;
$q3 = 0;
} else {
//echo "Running from browser.\n";
// Basic input validation and sanitization
@@ -12,6 +15,22 @@ 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);
}
$qualifier = "";
if ($q1 > 0) {
$qualifier.=" AND r.Q1 = " . $q1;
}
if ($q2 > 0) {
$qualifier.=" AND r.Q2 = " . $q2;
}
if ($q3 > 0) {
$qualifier.=" AND r.Q3 = " . $q3;
}
@@ -34,14 +53,21 @@ try {
$pdo = new PDO($dsn, $user, $pass, $options);
$sql = "
SELECT value, COUNT(*) AS count
FROM Answers
WHERE QID = :qid
AND value BETWEEN -3 AND 3
GROUP BY value
ORDER BY value
SELECT
a.value,
COUNT(*) AS count,
r.Q1,
r.Q2,
r.Q3
FROM Answers a
INNER JOIN Responses r ON a.responseId = r.id
WHERE a.QID = :qid' . $quantifier . '
GROUP BY a.value, r.Q1, r.Q2, r.Q3
ORDER BY a.value;
";
echo $sql;
$stmt = $pdo->prepare($sql);
$stmt->execute(['qid' => $qid]);
$results = $stmt->fetchAll();