0 votes
in SoSci Survey (dt.) by s293908 (180 points)
edited by SoSci Survey

Guten Tag,

ich verwende folgenden Code, um mehrere Fragen zusammenzuführen und zu shuffeln. Das Problem ist, dass die Skalenverankerungen (stimme zu, stimme teilweise zu, ...) mit jedem Item wiederholte werden. Wie kann ich in PHP dafür sorgen, dass die Skalenverankerungen nicht mit jedem Item wiederholte werden?

Hier ist mein Code, ich habe Ihn von folgender Hilfewebsite (https://www.soscisurvey.de/help/doku.php/de:create:rotation-itemmix):

if (!isset($items)) {
  $questions = ['AR01', 'PA01', 'GS01'];
  
  // Liste mit allen Items erstellen
  $items = [];
  foreach ($questions as $qstID) {
    $qstItems = getItems($qstID, 'all');
    foreach ($qstItems as $itemID) {
      $items[] = [$qstID, $itemID];
    }
  }

// Liste mischen
  shuffle($items);
  registerVariable($items);
}
 
// Fragetext anzeigen
question('PA01', 'spacing=0', 'show-items=no');

// Schattierungen wiederherstellen und Items anzeigen
foreach ($items as $n => $item) {
  if ($n % 2 == 0) {
    question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-shaded');
  } else {
    question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-unshaded');
  }
}

BILD:

1 Answer

0 votes
by SoSci Survey (324k points)
selected by s293908
 
Best answer

Ergänzen Sie ab dem zweiten Item in

question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-shaded');

noch ein anchor=none, also

question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-shaded', 'anchor=none');

Damit das erst beim zweiten Item passiert, könnte Ihr Code wie folgt aussehen.

// Schattierungen wiederherstellen und Items anzeigen
foreach ($items as $n => $item) {
  if ($n == 0) {
    question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-shaded');
  }
  elseif ($n % 2 == 0) {
    question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-shaded', 'anchor=none');
  }
  else {
    question($item[0], [$item[1]], 'spacing=0', 'show-title=no', 'show-explanation=no', 'shading=all-unshaded', 'anchor=none');
  }
}

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

...