Dies ist eine alte Version des Dokuments!
void registerVariable(string VariablenName)
Eine PHP-Variable ist normalerweise nur innerhalb eines PHP-Code Elements gültig. Mittels registerVariable()
kann man eine Variable für alle folgenden PHP-Code Elemente verfügbar machen.
$item
), ein String mit dem Namen der Variable (z.B. 'item').Im folgenden Beispiel werden auf Seite 1 zufällig drei Items aus den Items der Frage „AB01“ gezogen. Anschließend soll die Frage mit diesen drei Items gestellt werden – und auf einer späteren Seite soll Frage „AB02“ mit eben denselben drei Items abgefragt werden.
// Drei Items aus Frage AB01 ziehen $itemliste = random_items('AB01', 3); // Die entsprechende Frage anzeigen question('AB01', $itemliste); // Die Variable $itemliste registrieren registerVariable('itemliste');
Weil die Variable $itemliste
für weitere Fragebogen-Seiten verfügbar gemacht wurde, können Sie in einem anderen PHP-Code Element einfach mit $itemliste
weiterarbeiten.
question('AB02', $itemliste);
Auf Seite 4 im Fragebogen soll anhand eines recht komplexen Filters ermittelt werden, ob der Teilnehmer in Gruppe 1 (Neukunden oder Kunden in Anbahnung eines Geschäfts) oder Gruppe 2 (Altkunden) der Untersuchung fällt. Aufgrund dieser Einordnung sollen später im Interview unterschiedliche Fragen angezeigt werden.
if ( (value('BB01') == 1) or ((value('BB02') < 3) and (value('BB04') == 2) ) { $gruppe = 1; } else { $gruppe = 2; } registerVariable('gruppe');
Auch hier kann später einfach mit der Variable $gruppe
gearbeitet werden.
if ($gruppe == 1) { question('BX01'); } else { question('BX02'); }
if ($gruppe == 1) { question('BX04', '1-3,5,6'); } else { question('BX04', '1-5,7,9'); }
Tipp: Weil die Gruppe auch in der Auswertung relevant sein werden, wäre hier die Verwendung von put()
und auf späteren Seiten value()
u.U. zielführender.
4 Fragen („AB01“ bis „AB04“) sollen zusammen mit 4 zugehörigen Textbausteinen („text1“ bis „text4“) angezeigt werden – aber in zufälliger Reihenfolge. Dafür wird auf Seite 1 des Fragebogens ein Array gemischt und via registerVariable()
für die folgenden Seiten verfügbar gemacht. Details s. Kapitel Rotation.
$fragen = array( array('AB01', 'text1'), array('AB02', 'text2'), array('AB03', 'text3'), array('AB04', 'text4') ); shuffle($fragen); variableRegister('fragen');
Auf den folgenden 4 Seiten wird jeweils die Frage und der Textbaustein angezeigt, die an der entsprechenden Position im Array steht.
text($fragen[0][1]); question($fragen[0][0]);
text($fragen[1][1]); question($fragen[1][0]);
text($fragen[2][1]); question($fragen[2][0]);
text($fragen[3][1]); question($fragen[3][0]);