Finally extracting questions from the survey. Additional table added to hold questions
This commit is contained in:
@@ -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]);
|
||||
|
||||
Reference in New Issue
Block a user