0 votes
in SoSci Survey (dt.) by s355327 (110 points)

Hallo,

ich möchte, dass die Befragten im Fragebogen ihre Postleitzahl eingeben und wenn die Postleitzahl auf einen speziellen Ort zutrifft, dass diese Frage dann als Filterfrage fungiert und die Befragten direkt zur nächsten Frage nach dem Ortsteil weitergeleitet werden.

Beispiel:

  1. Frage: Wie lautet die Postleitzahl Ihres Wohnorts?
    Postleitzahl: ___

Wenn die eingegebene PLZ bspw. 00001, 00002, 00003 ist, dann sollen die Befragten direkt zur nächsten Frage nach dem Ortsteil weitergeleitet werden und dort eine fest definierte Auswahl treffen müssen.

  1. Frage: In welchem Ortsteil von Beispielstadt wohnen Sie?
    o Mitte
    o Nordstadt
    o Oststadt
    o Südstadt
    o Weststadt

Wie funktioniert das?

by SoSci Survey (372k points)
Um wie viele Orte (PLZ-Gruppen) geht es denn, auf die Sie reagieren möchten?
by s355327 (110 points)
Es sind fünf Gruppen (Orte) von denen jede Gruppe (jeder Ort) unterschiedlich viele Postleitzahlen hat.

Davon abgesehen: Wenn eine eingegebene Postleitzahl nicht auf diese fünf Gruppen (Orte) zutrifft, dann soll die Postleitzahl auch festgehalten werden.

1 Answer

0 votes
by SoSci Survey (372k points)

Es sind fünf Gruppen (Orte) von denen jede Gruppe (jeder Ort) unterschiedlich viele Postleitzahlen hat.

In Ordnung, dann könnten Sie die Postleitzahl-Gruppen erstmal als Array definieren:

$groups = [
  1 => ['00001', '00002', '00003'],
  2 => ['10001', '10002', '10003', '10004'],
  ...
  5 => ['81929', '81930']
];

Eine FOR-Schleife bestimmt dann die Gruppe und speichert diese in eine intere Variable, hier z.B. IV01_01.

$plz = value('PL01');
$code = -1;
foreach ($groups as $id => $codes) {
    if (in_array($plz, $codes)) {
      $ocde = $id;
    }
}
put('IV01_01', $code);

Und ab hier können Sie IV01_01 einfach verwenden, um einen Filter nach Ihrem Bedarf im Fragebogen zu verwenden. In Ihrem Fall würde abhängig vom Code wohl eine von 5 Fragen nach dem Ortsteil angezeigt werden oder eben kein.

dann soll die Postleitzahl auch festgehalten werden.

Diese haben Sie ohnehin in der Textvariable, mit welcher Sie die PLZ abgefragt haben.

by s355327 (110 points)
Danke, nur habe ich bisher noch nie programmiert.
Wo kann ich das denn programmieren?
by SoSci Survey (372k points)
Am besten klicken Sie auf der Seite mit der PLZ-Frage unten auf "Verarbeitung der Antworten mit PHP" und fügen den PHP-Code dort ein. Den Filter für die Folgefrage (https://www.soscisurvey.de/help/doku.php/de:create:php-filters) platzieren Sie dann als "PHP-Code" Element dort im Fragebogen, wo die Folgefrage erscheinen soll.
by s355327 (110 points)
Da gibt es kein Feld mit "Verarbeitung der Antworten mit PHP".
by s355327 (110 points)
Ich habe das mit "$groups" jetzt genauso wie Sie oben geschrieben haben kopiert und dann hinter die Zahlen den Ortsnamen geschrieben und in die eckigen Klammern die echten Postleitzahlen.
Da wird mir aber angezeigt, dass beim Ortsnamen angezeigt: "Warnung: Unerwartetes Element: Ortsname - fehlt hier vielleicht ein Semikolon (;) oder Anführungszeichen?" Was muss ich da ändern?
by s355327 (110 points)
Gibt es einen Weg, wie Sie direkt in meinem Fragebogen nachgucken können und mir privat Tipps geben können, statt umständlich über diesen Frage-Antwort-Kanal hier?
by SoSci Survey (372k points)
edited by SoSci Survey
Die Ortsnamen müssen Sie weglassen, ich habe oben absichtlich numerische Codes gewählt. Sie müssen lediglich die PLZ austauschen/ergänzen.

> Gibt es einen Weg, wie Sie direkt in meinem Fragebogen nachgucken können und mir privat Tipps geben können

Ja, aber dann muss ich 185 € zzgl. USt. pro Stunde für die Beratung in Rechnung stellen. Wenn Sie dies wünschen, teilen Sie uns bitte die Kundennummer oder Rechnungsadresse an info@soscisurvey.de mit.

Und falls Sie das jetzt unverschämt finden: Keine Sorge, wenn ich jemandem eine hochwertige Software und die teure Infrastruktur kostenlos zur Verfügung stelle - und auch kein Geld damit verdiene, dass ich dessen Daten verkaufe oder Werbung schalte - und wenn ich dann noch kostenlos Beispiel-Code schreibe und individuellen Support leiste - und dann beschwert sich diese Person, dass ihr das Procedere zu umständlich ist ... nun ... ein klein wenig unverschämt finde ich das dann auch. Nichts für ungut.

> Da gibt es kein Feld mit "Verarbeitung der Antworten mit PHP".

Unter Umständen müssen Sie erst auf eine andere Seite wechseln und/oder mit F5 die Ansicht neu laden, damit der Knopf unten erscheint.
by s355327 (110 points)
Vielen Dank für die Rückmeldung. Guter Hinweis, dass Ortsnamen nicht in den Code kommen.
Das war nicht als Kritik gemeint, sondern nur eine kurze Frage. Ich weiß den kostenlosen Support zu schätzen und bleibe gerne bei diesem Weg.

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

...