0 votes
in SoSci Survey (dt.) by s109648 (140 points)
edited by s109648

Ich habe das Ganze so versucht zu lösen:

if (value('IV01_01') == 1 ) {
    question('IA01');
} elseif (value('IV01_01') == 2 ) {
    if (value('HM01') == 1 ) {
        question('IA01');
    }  elseif (value('HM01') == 2 ) {
        question('IA02');
    }  else {
        question('IA03');
    }
} else {

    $arrayG2S1 = dbGet('G2S1');
    $G2S1 = $arrayG2S1[0];
    $arrayG2S2 = dbGet('G2S2');
    $G2S2 = $arrayG2S2[0];
    $arrayG2S3 = dbGet('G2S3');
    $G2S3 = $arrayG2S3[0];

    $arrayG3S1 = dbGet('G3S1');
    $G3S1 = $arrayG3S1[0];
    $arrayG3S2 = dbGet('G3S2');
    $G3S2 = $arrayG3S2[0];
    $arrayG3S3 = dbGet('G3S3');
    $G3S3 = $arrayG3S3[0];


    
    if ($G2S1 == 0) {
        $Anteil_G2S1 = 0;
    } else {
        $Anteil_G2S1 = ($G2S1 + $G2S2 + $G2S3) / $G2S1 * 100;
    }
    if ($G2S2 == 0) {
        $Anteil_G2S2 = 0;
    } else {
        $Anteil_G2S2 = ($G2S1 + $G2S2 + $G2S3) / $G2S2 * 100;
    }
    if ($G2S3 == 0) {
        $Anteil_G2S3 = 0;
    } else {
        $Anteil_G2S3 = ($G2S1 + $G2S2 + $G2S3) / $G2S3 * 100;
    }
    
    if ($G3S1 == 0) {
        $Anteil_G3S1 = 0;
    } else {
        $Anteil_G3S1 = ($G3S1 + $G3S2 + $G3S3) / $G3S1 * 100;
    }
    if ($G3S2 == 0) {
        $Anteil_G3S2 = 0;
    } else {
        $Anteil_G3S2 = ($G3S1 + $G3S2 + $G3S3) / $G3S2 * 100;
    }
    if ($G3S3 == 0) {
        $Anteil_G3S3 = 0;
    } else {
        $Anteil_G3S3 = ($G3S1 + $G3S2 + $G3S3) / $G3S3 * 100;
    }
    


    if ($Anteil_G2S1 > $Anteil_G3S1 && $Anteil_G2S2 > $Anteil_G3S2 && $Anteil_G2S3 < $Anteil_G3S3) {
        question('RG03');
        put('IV03_01', value('RG03'));
        if (value('IV03_01') == 1 ) {
            question('IA01');
            put('IV06_01', 1);
        } else {
            question('IA02');
            put('IV06_01', 2);
        }
    } elseif ($Anteil_G2S1 > $Anteil_G3S1 && $Anteil_G2S2 < $Anteil_G3S2 && $Anteil_G2S3 < $Anteil_G3S3) {
        question('IA01');
        put('IV06_01', 1);
    } elseif ($Anteil_G2S1 > $Anteil_G3S1 && $Anteil_G2S2 < $Anteil_G3S2 && $Anteil_G2S3 > $Anteil_G3S3) {
        question('RG04');
        put('IV04_01', value('RG04'));
        if (value('IV04_01') == 1 ) {
            question('IA01');
            put('IV06_01', 1);
        } else {
            question('IA03');
            put('IV06_01', 3);
        }
    } elseif ($Anteil_G2S1 < $Anteil_G3S1 && $Anteil_G2S2 < $Anteil_G3S2 && $Anteil_G2S3 > $Anteil_G3S3) {
        question('IA03');
        put('IV06_01', 3);
    } elseif ($Anteil_G2S1 < $Anteil_G3S1 && $Anteil_G2S2 > $Anteil_G3S2 && $Anteil_G2S3 > $Anteil_G3S3) {
        question('RG05');
        put('IV05_01', value('RG05'));
        if (value('IV05_01') == 1 ) {
            question('IA02');
            put('IV06_01', 2);
        } else {
            question('IA03');
            put('IV06_01', 3);
        }
    } elseif ($Anteil_G2S1 < $Anteil_G3S1 && $Anteil_G2S2 > $Anteil_G3S2 && $Anteil_G2S3 < $Anteil_G3S3) {
        question('IA02');
        put('IV06_01', 2);
    } elseif ($Anteil_G2S1 == $Anteil_G3S1 && $Anteil_G2S2 > $Anteil_G3S2 && $Anteil_G2S3 < $Anteil_G3S3) {
        question('IA02');
        put('IV06_01', 2);
    } elseif ($Anteil_G2S1 == $Anteil_G3S1 && $Anteil_G2S2 < $Anteil_G3S2 && $Anteil_G2S3 > $Anteil_G3S3) {
        question('IA03');
        put('IV06_01', 3);
    } elseif ($Anteil_G2S1 < $Anteil_G3S1 && $Anteil_G2S2 == $Anteil_G3S2 && $Anteil_G2S3 > $Anteil_G3S3) {
        question('IA03');
        put('IV06_01', 3);
    } elseif ($Anteil_G2S1 > $Anteil_G3S1 && $Anteil_G2S2 == $Anteil_G3S2 && $Anteil_G2S3 < $Anteil_G3S3) {
        question('IA01');
        put('IV06_01', 1);
    } elseif ($Anteil_G2S1 < $Anteil_G3S1 && $Anteil_G2S2 > $Anteil_G3S2 && $Anteil_G2S3 == $Anteil_G3S3) {
        question('IA02');
        put('IV06_01', 2);
    } elseif ($Anteil_G2S1 > $Anteil_G3S1 && $Anteil_G2S2 < $Anteil_G3S2 && $Anteil_G2S3 == $Anteil_G3S3) {
        question('IA01');
        put('IV06_01', 1);
    } else  {  
        question('RG02');  
        put('IV02_01', value('RG02')); 
        if (value('IV02_01') == 1 ) {
        question('IA01');
        put('IV06_01', 1);
        }  elseif (value('IV02_01') == 2 ) {
        question('IA02');
        put('IV06_01', 2);
        }  else {
        question('IA03');
        put('IV06_01', 3);
        } 
    }   
}

Jetzt habe ich allerdings das Problem, dass das nicht richtig funktioniert. Es kommt allerdings keine Fehlermeldung, es funktioniert einfach nicht richtig. Ich kann allerdings nicht ausmachen an was es liegen könnte.
Ich habe den Fall das eigentlich dieser Teil des Codes laufen sollte, also entweder die Frage IA01 oder IA02 gestellt werden sollte. Es wird allerdings IA03 gestellt

if ($Anteil_G2S1 > $Anteil_G3S1 && $Anteil_G2S2 > $Anteil_G3S2 && $Anteil_G2S3 < $Anteil_G3S3) {
    question('RG03');
    put('IV03_01', value('RG03'));
    if (value('IV03_01') == 1 ) {
        question('IA01');
        put('IV06_01', 1);
    } else {
        question('IA02');
        put('IV06_01', 2);
    }}

Wo liegt der Fehler?
Vielen Dank schonmal für die Mühen!

1 Answer

0 votes
by SoSci Survey (327k points)

Es kommt allerdings keine Fehlermeldung, es funktioniert einfach nicht richtig. Ich kann allerdings nicht ausmachen an was es liegen könnte.

Bitte ergänzen Sie in diesem Fall die Debug-Informationen der betroffenen Seite.

Ergänzen Sie außerdem ein wenig PHP-Code, damit Sie die Inhalte der berechneten Variablen anzeigen:

debug($Anteil_G2S1);
debug($Anteil_G3S1);
debug($Anteil_G2S2);
debug($Anteil_G3S2);
debug($Anteil_G2S3);
debug($Anteil_G3S3);

Es wird allerdings IA03 gestellt

Bitte prüfen Sie auch, ob Sie neben dem PHP-Code noch andere Elemente (z.B. Fragen) auf die Seite gezogen haben, die eigentlich nicht angezeigt werden sollen. Wenn ja, dann entfernen Sie diese bitte vgl. Problemlösung bei Filterfragen

by s109648 (140 points)
edited by s109648
Hab den Fehler gefunden! Danke!

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...