0 votes
in SoSci Survey (dt.) by s102985 (170 points)

Ist es möglich die Antworten aus verschiedenen Fragen (z.B. aus Frage NA01, NA02 und NA03) mit jeweils offenen Nennungen in meine Folge-Frage (Namens-Matrix) zu übernehmen?

Dazu mein aktueller PHP-Code für den Namensgenerator NA01:

$frage = 'NA01';
$items = [];
$fragenListe = [
  1 => 'RE03', 
  2 => 'RE04',
  3 => 'RE05',
    4 => 'RE06',
    5 => 'RE07',
    6 => 'RE08',
    7 => 'RE09',
    8 => 'RE10',
    9 => 'RE11',
    10 => 'RE12',
    ];
  // u.s.w.
$fragen = [];
for ($i=1; $i<=10; $i++) {
  $itemID = id($frage, $i);
  $antwort = value($itemID);
  if (trim($antwort) != '') {
    replace('%text'.$i.'%', $antwort);
    $items[] = $i;
    $fragen[] = $fragenListe[$i];
  }
}

// Folgefrage anzeigen
if (count($items) > 0) {
  question($fragen, $items);
}

Wie könnte ich hier vorgehen, damit die Namen aus NA02 und NA03 auch übernommen werden?

1 Answer

0 votes
by SoSci Survey (306k points)

Sie verwenden eine FOR-Schleife, um 10 Items auszulesen:

for ($i=1; $i<=10; $i++) {

Wenn Sie nun auch andere Fragen auslesen möchten, haben Sie unterschiedliche Möglichkeiten: Entweder Sie definieren eine Liste aller Variablen, welche Namene enthalten können, z.B.

$liste = [
  1 => 'NA01x01',
  2 => 'NA01x02',
  // ...
  10 => 'NA01x10',
  11 => 'NA02x01',
  // ...
];

Diese können Sie dann mit einem foreach($liste as $i => $itemID) abarbeiten. Der Rest der Schleife würde weitgehend unverändert bleiben. Nur die Zeile $itemID = id($frage, $i); fällt raus.

Die zweite Möglichkeit wäre, dass Sie die Schleife einfach 3-mal aufrufen, einmal für jede Frage.

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

...