0 votes
in SoSci Survey (dt.) by s179002 (115 points)
edited by SoSci Survey

Hallo zusammen,

ich habe folgenden PHP Code geschrieben der mit einer Variable hervorragend funktioniert:

if (value('FR01') == 1 and value('FR03') == 1 and value('FR04') == 1) {
goToQuestionnaire('Fragebogen1');
}

Ist es möglich den Code so anzupassen das ich unter "goToQuestionnaire" 2 Auswahlmöglichkeiten hinterlege die zufällig ausgewählt werden?

Sowas wie z.B.:

if (value('FR01') == 1 and value('FR03') == 1 and value('FR04') == 1) {
goToQuestionnaire('Fragebogen1' or 'Fragebogen2');
}

(Das Beispielfunktioniert jedoch nicht)

Danke und Grüße,

1 Answer

+1 vote
by SoSci Survey (304k points)
edited by SoSci Survey

Dafür würden Sie noch einen Zufallsgenerator ergänzen (Zufallsauswahl für Fragebögen). Das könnte dann so aussehen:

if ((value('FR01') == 1) && (value('FR03') == 1) && (value('FR04') == 1)) {
  show('RG01');
  if (value('RG01') == 1) {
    goToQuestionnaire('Fragebogen1');
  } else {
    goToQuestionnaire('Fragebogen2');
  }
}
by s179002 (115 points)
Danke für die Rückinfo, auf der Hilfeseite steht doch nur wie man den Fragebogen randomisiert starten lässt.

Vielleicht hilft etwas mehr Kontext:

Ich habe einen Hauptfragebogen und mehrere kleinere Fragebögen für verschiedene Gruppen.

Wichtig wäre das wenn die Teilnehmer bestimmt Antworten im Hauotfragebogen markieren auf die entsprechenden Unterfragebögen weitergeleitet werden.

Jeden (Unter)Fragebogen gibt es in 2 Varianten.. aus diesen soll jeweils einer per zufall gezogen werden.

Viele Grüße,
by SoSci Survey (304k points)
> Danke für die Rückinfo, auf der Hilfeseite steht doch nur wie man den Fragebogen randomisiert starten lässt.

Ja - im Prinzip brauchen Sie davon auch nur den Teil, wo auf Basis eines Zufallsgenerators zufällig zu einem von zwei Fragebögen weitergeleitet wird. Das ist im Kern der PHP-Code, den ich oben gepostet habe (also der innere Teil, das äußere IF kennen Sie ja schon).
by s179002 (115 points)
Super Danke! Es klappt einwandfrei!
by s179002 (115 points)
Hallo, leider muss ich den Thread nochmal aufmachen... es hat sich eine Änderung ergeben, die ich nicht ganz umsetzen kann.

Ich habe eine Randomizer der als Wahlzettel 4 Fragebögen beinhaltet.

1 = m_sex_v_hetero
2 = m_sex_w_hetero
3 = m_partner_v_hetero
4 = m_partner_w_hetero

Im Hauptfragebogen soll wenn Frage 1 mit 1 beantwortet ist und Frage 3 mit 1 beantwortet ist gleichverteilt auf einen der 4 Fragebögen weiterleiten.

Leider klappt die gleichverteilung nicht und ich weiß leider nicht wie ich zwischen 4 Möglichkeiten im PHP Code gleichmäßig ziehen lassen kann.

Meine Idee klappt leider nicht (siehe Code unten)

// Randomizercode für m_sex+partner_w+v_hetero

if (value('FR01') == 1 and value('FR03') == 1) {
show('RD02');

    if (value('RD02') == 1) {
   goToQuestionnaire('m_sex_v_hetero') || ('m_partner_v_hetero');
    } else {
    goToQuestionnaire('m_sex_w_hetero') || ('m_partner_w_hetero');;
    }
}
by SoSci Survey (304k points)
Das logische Oder (||) macht hier keinen Sinn, das gilt nur für die Verknüpfung von IF-Bedingungen. Der Teil nach den beiden Pipe-Symbolen wird einfach ignoriert.Warum machen Sie es sich nicht einfach wie lt. Anleitung zur Zufallsauswahl von Fragebögen?

if (value('FR01') == 1 and value('FR03') == 1) {
  show('RD02');
  goToQuestionnaire(value('RD02', 'label'));
}

Alternativ müssten Sie 4 IF-Zweige definieren, nicht nur 2.

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

...