Ich dachte zumindest, dass ich die richtigen Fragbögen zähle. Ja, es sollen natürlich nur die gezählt werden, die den Fragebogen beendet haben, so soll die Quote garantiert werden. Bei der Auswertung habe ich auch nur die Fragebögen ausgewertet, die bis zur letzten Seite gekommen sind und daher an den Panelbetreiber zurück geschickt werden. Bisher hat alles auch reibungslos funktioniert.
Erst als ich die Quoten im laufenden Fragebogen verändert habe, gibt es keine "Stopp"-Funktion mehr.
Der Code lautet:
$Sex = value('PQ01');
if (($Sex < 1) or ($Sex > 2)) {
setNextPage('repeat');
redirect('[link]=%reference%', true); }
$limitsSex = array(
1 => 74,
2 => 69
);
$nQnrSex = statistic('count', 'PQ01', $Sex);
$nMaxSex = $limitsSex[$Sex];
if ($nQnrSex >= $nMaxSex) {
setNextPage('repeat');
redirect('[link]tic=%reference%', true);
}
$age = (int)value('PQ02_01');
if ($age < 1947) {
$ageGrp = 1;
} elseif ($age <= 1957) {
$ageGrp = 2;
} elseif ($age <= 1967) {
$ageGrp = 3;
} elseif ($age <= 1977) {
$ageGrp = 4;
} elseif ($age <= 1987) {
$ageGrp = 5;
} elseif ($age <= 1999) {
$ageGrp = 6;
} else {
$ageGrp = 7;
}
put('ID01_01', $ageGrp);
$ageGrp = (int)value('ID01_01');
if (($ageGrp < 2) or ($ageGrp > 6)) {
setNextPage('repeat');
redirect('[link]%reference%', true);
}
$limitsAge = array(
2 => 26,
3 => 32,
4 => 33,
5 => 26,
6 => 26);
$nQnrAge = statistic('count', 'ID01_01', $ageGrp);
$nMaxAge = $limitsAge[$ageGrp];
if ($nQnrAge >= $nMaxAge) {
setNextPage('repeat');
redirect('[link]%reference%', true);
}
$edu = (int)value('PQ03');
if ($edu < 1) {
$eduGrp = 0;
} elseif ($edu <= 6) {
$eduGrp = 1;
} elseif ($edu <= 11) {
$eduGrp = 2;
} elseif ($edu <= 18) {
$eduGrp = 3;
} else {
$eduGrp = 4;
}
put('ID01_02', $eduGrp);
$eduGrp = (int)value('ID01_02');
if (($eduGrp < 1) or ($eduGrp > 3)) {
setNextPage('repeat');
redirect('[link]%reference%', true);
}
$limitsEdu = array(
1 => 58,
2 => 61,
3 => 24);
$nQnrEdu = statistic('count', 'ID01_02', $eduGrp);
$nMaxEdu = $limitsEdu[$eduGrp];
if ($nQnrEdu >= $nMaxEdu) {
setNextPage('repeat');
redirect('[link]%reference%', true);
}