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

0 votes

Hallo zusammen,
ist es möglich, einen Filter mittels PHP-Code bei dem Fragentyp "Offene Nennungen" zu integrieren? Ich habe folgendes Problem:
Von meinen Studienteilnehmern würde ich gerne verschiedene Gründe zu einem Sachverhalt abfragen. Diese Antworten werden in der darauffolgenden Frage aufgegriffen und können einer Rangordnung zugeordnet werden. Falls sich Teilnehmer nun aber dazu entscheiden, keine Gründe anzugeben, dann soll auch die darauffolgende Seite nicht angezeigt werden.
D.h. bleibt der Fragentyp "Offene Nennungen" unbeantwortet, möchte ich gerne eine Seite im Fragebogen (die darauffolgende) überspringen. Bisher hatte ich leider noch keinen Erfolg.

Hätte da evlt. jemand eine Lösung?

Liebe Grüße
Lucas

in SoSci Survey (dt.) by s115114 (140 points)
Ergänzen Sie Ihre Frage doch bitte noch um den PHP-Code, den Sie für die Übernahme der offenen Nennungen in das Ranking verwenden. Danke.
Hier der verwendete Code.

$frage = 'ED05';
$items = array();
for ($i=1; $i<=10; $i++) {
  $itemID = id($frage, $i);
  $antwort = value($itemID);
  if (trim($antwort) != '') {
    replace('%text'.$i.'%', $antwort);
    $items[] = $i;
  }
}
// Folgefrage anzeigen
if (count($items) > 0) {
  question('ED09', $items);
}

1 Answer

0 votes

Falls sich Teilnehmer nun aber dazu entscheiden, keine Gründe anzugeben, dann soll auch die darauffolgende Seite nicht angezeigt werden.

Eigentlich haben Sie dies in Ihrem Code bereits abgebildet:

if (count($items) > 0) {
  question('ED09', $items);
}

Man kann dies auch noch expliziter formulieren:

if (count($items) == 0) {
  goToPage('next');
}
question('ED09', $items);
by SoSci Survey (194k points)
Vielen Dank! Das hat funktioniert. Allerdings habe ich nun folgendes Problem. Auf der gleichen Seite wird die Seite die ich bei "goToPage" angegeben habe hereingeladen. Hierbei überschneiden sich quasi die Inhalte.
Der PHP-Code mit dem Filter muss ggf. an erste Stelle im Fragebogen.

Sie möchten ja die komplette Seite überspringen und nicht nur die Frage. Wenn Sie Texte oder andere Fragen vor der "ED09" einbinden möchten, können Sie das über text() und question() einfach direkt im PHP-Code erledigen, über dem schon vorhandenen question()-Befehl, aber unter dem goToPage()-Filter. Dann sollte alles in der richtigen Reihenfolge sein.
Vielen Dank für Ihre großartige Hilfe! Nun klappt alles wirklich reibungslos! :-)
...