string getItemtext(string FrageKennung, int Item)
string getItemtext(string ItemKennung)
Mit dieser Funktion kann man die Beschriftung eines Items bzw. einer Auswahloption ermitteln – z.B. um den Text in einer anderen Frage oder als Druckansicht für den Teilnehmer anzuzeigen. Außerdem kann die Funktion den Text einer Frage ermitteln.
'question
' – Der Fragetext der Frage'explanation
' – Die Erklärung zur Frage
Hinweis: Bei Auswahlfragen ist es oftmals einfacher, die Funktion value()
mit dem zweiten Parameter 'text
' oder 'free
' als zweiten Parameter zu verwenden (vgl. Beispiel 1).
Im folgende Beispiel ist Frage „AB01“ eine längere Dropdown-Auswahl (auf Seite 1 im Fragebogen). Dort wählt der Befragte seine Lieblings-Sendung im Fernsehen aus. In der Frage ist eingestellt, dass der Befragte eine Antwort geben muss. Der Titel dieser Sendung soll in Frage „AB02“ angezeigt werden. Dafür enthält „AB02“ im Fragetext einen Platzhalter %title%
.
Damit der Platzhalter den Titel anzeigt, muss der ausgewählte Titel zunächst mit getItemtext()
ermittelt und mit replace()
als Platzhalter vorbereitet werden. Der folgende PHP-Code steht auf Seite 2 oder später:
$auswahl = value('AB01'); // Auswahl des Befragten (Antwortcode = Item) $titel = getItemtext('AB01', $auswahl); replace('%title%', $titel); // Platzhalter vorbereiten question('AB02'); // Frage AB02 stellen
Die Funktion value()
kann auch mit offenen Eingaben des Teilnehmers („Sonstiges: …“) umgehen. Abgesehen davon liefert der folgende PHP-Code dasselbe Ergebnis wie der PHP-Code oben.
$titel = value('AB01', 'free'); // Auswahl des Befragen als Text replace('%title%', $titel); // Platzhalter vorbereiten question('AB02'); // Frage AB02 stellen
Am Ende des Fragebogens sollen dem Teilnehmer seine Antworten auf ausgewählte Items der Frage „AB02“ (einer voll beschrifteten Skala) angezeigt werden. Der folgende PHP-Code ermittelt für die Items 2, 4, 6 und 8 die Beschriftungen (Itemtexte) und Antworten (als Text) und zeigt diese in einer HTML-Tabelle an.
$html = '<table cellspacing="0" cellpadding="2" border="1">'; foreach ($item in array(2,4,6,8)) { $itemtext = getItemtext('AB02', $item); $antwort = value('AB02_'.$item, 'text'); $html.= '<tr> <td>'.$itemtext.'</td> <td>'.$antwort.'</td> </tr>'; } $html.= '</table>'; html($html);