0 votes
in SoSci Survey (dt.) by s095605 (350 points)
edited by s095605
$i = loopPage(20);
$num = $bilder2[$i];
$basis = value(id('ZG01', $i + $num), 'label');
$bild = $basis.'_n.jpg';
html('<div style="margin: 3em; text-align: center">
<img src="'.$bild.'" alt="" /; style="max-width: 50%">
</div>');
question(id('RE', $i+1));

Den Code habe ich verbessert. Nur bei den letzten beiden Zeilen gab es Fehler. Ich habe hier jetzt die letzte Zeile etwas anders. So funktioniert es. Ist das richtig?

Auf Seite 1 habe ich jetzt das Array angepasst:

if(!isset($bilder))
{$bilder=array(1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2);
shuffle($bilder);
registerVariable($bilder);}
for ($i=0; $i<count($bilder); $i++) {
$id = id('IV01', $i + 1);
put($id, $bilder[$i]);}

Ich weiß aber nicht genau, wieso ich nicht mischen darf (das heißt hier müsste die Funktion shuffle() raus?) Ich will doch, dass die Bilder gemischt sind...

Und ja es werden 30 Bilder gezogen. Ich hatte einen Tippfehler eingebaut.

by SoSci Survey (304k points)
Bitte sind Sie so freundlich, editieren Sie die Frage und formatieren Sie Code mit der taste {} als Code - das macht es deutlich besser lesbar. Danke.
by s095605 (350 points)
ist erledigt :) ich hoffe so ist es besser

1 Answer

0 votes
by SoSci Survey (304k points)

Ich weiß aber nicht genau, wieso ich nicht mischen darf (das heißt hier müsste die Funktion shuffle() raus?

Genau ... sonst klappt es nämlich nicht mehr damit, dass Sie bei den Bildern 11 bis 20 genau 5-mal happy und 5-mal sad haben.

// Abfolge der Bilder rotieren
if (!isset($order)) {
  $order = [];
  for ($i=1; $i<=20; $i++) {
    $order[] = $i;
  }
  shuffle($order);
  registerVariable($order);
}

// Varianten der Bilder fix definieren
$variante = [1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2];

// Die ersten 20 Bilder anzeigen
$i = loopPage(20);
// Aber in der Reihenfolge wie in $order gespeichert
$num = $order[$i];
$basis = value(id('ZG01', $num), 'label');
if ($variante[$num - 1] == 1) {
  $bild = $basis.'_h.jpg';
} else {
  $bild = $basis.'_s.jpg';
}
html('
  <div style="margin: 3em; text-align: center">
  <img src="'.$bild.'" alt="" /; style="max-width: 50%">
  </div>
');
question(id('RE', $num));

Bitte testen Sie es einmal damit.

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

...