0 votes
in SoSci Survey (dt.) by s265976 (130 points)
edited by SoSci Survey

Ich habe gemäss der Anleitung "Seiten rotieren; Rotierte Block-Abfolge (Variante 1)" meinen Code für eine Rotierung von nur zwei Blöcken erstellt, die innerhalb noch gemischt werden. Jedoch wird nun der erstgezogen Block fälschlicherweise zwei Mal präsentiert(z.B: Block 1, Block 2, Block 1). Wo liegt das Problem?

Der Code lautet wie folgt:

$blockfolge = array_values(valueList('ZG01'));
$blocks = [
  1 => valueList('ZG02', null, 'label'),
  2 => valueList('ZG03', null, 'label') 
];

array_splice($blocks[1], 0, 0, ['IV']);
array_splice($blocks[2], 0, 0, ['IS']);
array_splice($blocks[1], 5, 0, ['K1']);
array_splice($blocks[2], 5, 0, ['K2']);
array_splice($blocks[2], 6, 0, ['K22']);

$gesamtliste = array_merge(
  $blocks[$blockfolge[0]],
  $blocks[$blockfolge[1]
);


setPageOrder($gesamtliste);

ZG1: enthält zwei Zettel; 1 Zettel pro Block; soll zwei Mal gezogen werden, ziehen ohne zurücklegen

ZG2 (für Block 1): enthält 10 Zettel; 1 Zettel pro Seite; soll 10 Mal gezogen werden, ziehen ohne zurücklegen

ZG2 (für Block 2): enthält 10 Zettel; 1 Zettel pro Seite; soll 10 Mal gezogen werden, ziehen ohne zurücklegen

1 Answer

0 votes
by SoSci Survey (327k points)

ZG1: enthält zwei Zettel; 1 Zettel pro Block; soll zwei Mal gezogen werden, ziehen ohne zurücklegen

Wenn Sie ohnehin nur zwei Bedingungen haben, würde ich empfehlen, dass Sie aus ZG01 nur einen Zettel ziehen, und dann den Code wie folgt abändern:

$blockfolge = value('ZG01');

// Dann alles wie gehabt und unten

if ($blockfolge == 1) {
    $gesamtliste = array_merge(
        $blocks[0],
        $blocks[1]
    );
} else {
    $gesamtliste = array_merge(
        $blocks[1],
        $blocks[0]
    );
}

setPageOrder($gesamtliste);

Ich sehe keinen zwingenden Grund, warum sich Block 1 wiederholen sollte - wenn Sie das ergründen möchten, müssten Sie bitte am Ende noch ein wenig PHP-Debugging ergänzen und die Debug-Information posten.

debug($blocks);
debug($blockfolge);
debug($gesamtliste);

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

...