Sehr geehrte Damen und Herren,
für ein Screenout und die Berücksichtigung einer Quote (500 Berufstätige Personen im Alter zwischen 18-65 verteilt auf Männer und Frauen) gibt es Probleme mit meinem PHP-Code, in ich in Anlehnung an der Website und bereits kommentierten Fragen erstellt habe. Allerdings kommt immer eine Fehlermeldung (im Debug-Modus).
Meine Variablen: SD16 (Alter) --> dann kodiert in Gruppen (2=18-65 Jahre); SD02 = Geschlecht (1=w;2=m); SD17=Berufstätig (1=ja, 0=nein).
Interne Variable, die ich erstellt habe, lautet: IV01_01
//Quote festlegen
$quota = [
'2-1-1' => 250, // 250 weibliche berufstätige Personen in Altersgruppe 2 (18-65 Jahre)
'2-2-1' => 250 // 250 männliche berufstätige Personen in Altersgruppe 2 (18-65 Jahre)
];
>//Variablen auslesen
$gender = value('SD02');
$beruf = value('SD17');
>// Das Alter wird umkodiert
$age = value('SD16');
if ($age < 18) {
$ageGroup = 1;
} elseif ($age <= 65) {
$ageGroup = 2;
} else {
$ageGroup = 3;
}
>// Definition einer Variable mit Altersgruppe, Geschlecht, Berufstätigkeit
$demGroup = $ageGroup.'-'.$gender.'-'.$beruf;
>// Abruf der vorliegenden Fälle für diese Merkmalsausprägung
// Internen Variablen IV01_01 in Fragenkatalog integriert
$cases = statistic('count', 'IV01_01', $ageGroup);
>// Screenout
if (!array_key_exists($demGroup, $quota)) {
redirect('https://mingle.respondi.com/s/1213131/ospe.php3?c_0002=0&return_tic=%reference%');
}
>// Auslesen der Quoten für die angegebenen Merkmale
$maxPerGroup = $quota[$demoGroup];
>// Quotenstopp
if ($cases >= $maxPerGroup){
redirect('https://mingle.respondi.com/s/1213131/ospe.php3?c_0002=2&return_tic=%reference%');
}
Außerdem habe ich auf der vorletzten Seite die interne Variable eingebaut (vor dem Complete-Link)
> //Variablen auslesen
$gender = value('SD02');
$beruf = value('SD17');
>// Das Alter wird umkodiert
$age = value('SD16');
if ($age < 18) {
$ageGroup = 1;
} elseif ($age <= 65) {
$ageGroup = 2;
} else {
$ageGroup = 3;
}
>// Definition einer Variable mit Altersgruppe, Geschlecht, Berufstätigkeit
$demGroup = $ageGroup.'-'.$gender.'-'.$beruf;
>//Speichern der Gruppenzugehörigkeit in der internen Variablen
put('IV01_01', $demGroup);
>redirect('https://mingle.respondi.com/s/1213131/ospe.php3?c_0002=1&return_tic=%reference%');
Habe ich etwas mit der internen Variable falsch gemacht oder ist der Code falsch?
Vielen Dank im Voraus.
P.S. ich weiß nicht, wie ich den Code besser in die Frage integriere - entschuldigen Sie!