Lieber Support
Ich habe ein Problem mit der Programmierung der Quoten. Leider wird jeder gefiltert, egal welche Werte man in den vorherigen Fragen angegeben hat (also via Link weggeleitet).
Es handelt sich um eine verbundene Quote mit den drei Variablen $ageGrp, $gender und $nation.
$ageGrp = 1 (unter 18) soll zurückgeleitet werden.
Alle anderen sollen mitmachen können, insofern die Quote noch nicht voll ist (hier Anzahl 84). Und hier scheint es ein Problem zu geben, da leider jede Kombination schlussendlich weggeleitet wird.
(Ausprägungen: Geschlecht: 0,1 / Nation: 1,2,3 / Altersgruppe: 1,2,3,4)
Mein Code sieht so aus:
// Merkmale auslesen
$ageGrp = value('QU01');
$gender = value('SD01');
$nation = value('SD15');
// Evtl. Screenout
if (($ageGrp = 1) && ($nation = 1)){
redirect('https://mingle.respondi.com/s/1042528/ospe.php3?c_0002=0&return_tic=%Respondi_Tic%', true);
}
if (($ageGrp = 1) && ($nation = 2)){
redirect('https://mingle.respondi.com/s/1042480/ospe.php3?c_0002=0&return_tic=%Respondi_Tic%', true);
}
if (($ageGrp = 1) && ($nation = 3)){
redirect('https://mingle.respondi.com/s/1042507/ospe.php3?c_0002=0&return_tic=%Respondi_Tic%', true);
}
// Kennung für die demografische Zelle erstellen
$demID = $ageGrp.'-'.$gender.'-'.$nation;
// Obergrenzen definieren
$limits = array(
'2-1-1' => 84,
'2-1-2' => 84,
'2-1-3' => 84,
'2-2-1' => 84,
'2-2-2' => 84,
'2-2-3' => 84,
'3-1-1' => 84,
'3-1-2' => 84,
'3-1-3' => 84,
'3-2-1' => 84,
'3-2-2' => 84,
'3-2-3' => 84,
'4-1-1' => 84,
'4-1-2' => 84,
'4-1-3' => 84,
'4-2-1' => 84,
'4-2-2' => 84,
'4-2-3' => 84
);
// Abgeschlossene Fragebögen zählen
$n = statistic('crosscount', array('QU01', 'SD01', 'SD15'), array($ageGrp, $gender, $nation));
// Quoten prüfen
if (($n > $limits[$demID]) && ($nation = 1)) {
redirect('https://mingle.respondi.com/s/1042528/ospe.php3?c_0002=2&return_tic=%Respondi_Tic%', true);
}
if (($n > $limits[$demID]) && ($nation = 2)) {
redirect('https://mingle.respondi.com/s/1042480/ospe.php3?c_0002=2&return_tic=%Respondi_Tic%', true);
}
if (($n > $limits[$demID]) && ($nation = 3)) {
redirect('https://mingle.respondi.com/s/1042507/ospe.php3?c_0002=2&return_tic=%Respondi_Tic%', true);
}
Sehen Sie, wo der Fehler liegt?