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

Wie kann ich den vorliegenden PHP Code an meine Studie anpassen, die anstatt 2 verschiedener Kategorien aus 3 besteht? Pro Kategorie gibt es 7 Videos statt 10 und insgesamt sollen es 21 Videos sein, die gezeigt werden anstatt 20. Aus Kategorie 1 sollen 7 Videos, aus Kategorie 2 sollen 7 Videos und aus Kategorie 3 sollen 7 Videos gezeigt werden. 3 Videos gehören immer zusammen, wenn es in einer Ausführung/Kategorie gezeigt wird, soll es in einer anderen nicht mehr gezeigt werden.
Vielen Dank für die Hilfe.

// Array mit den Zahlen 1 bis 20 in zufälliger Reihenfolge
$video = range(1, 20);
shuffle($video);

// Array mit 10 mal 1 und 10 mal 2 in zufälliger Reihenfolge
$version = array_merge(array_fill(0, 10, 1), array_fill(0, 10, 2));
shuffle($version);

// 2D Array mit den Zettel (je Video- und Entscheidungszettel) (in den Spalten je kurz und lange Videos)
$zettelArray = [
    1 => [1 => 'VFL01-EFL01', 2 => 'VFK01-EFK01'],
    2 => [1 => 'VFL02-EFL02', 2 => 'VFK02-EFK02'],
    3 => [1 => 'VFL03-EFL03', 2 => 'VFK03-EFK03'],
    4 => [1 => 'VFL04-EFL04', 2 => 'VFK04-EFK04'],
    5 => [1 => 'VFL05-EFL05', 2 => 'VFK05-EFK05'],
    6 => [1 => 'VFL06-EFL06', 2 => 'VFK06-EFK06'],
    7 => [1 => 'VFL07-EFL07', 2 => 'VFK07-EFK07'],
    8 => [1 => 'VFL08-EFL08', 2 => 'VFK08-EFK08'],
    9 => [1 => 'VFL09-EFL09', 2 => 'VFK09-EFK09'],
    10 => [1 => 'VFL10-EFL10', 2 => 'VFK10-EFK10'],
    11 => [1 => 'VHL01-EHL01', 2 => 'VHK01-EHK01'],
    12 => [1 => 'VHL02-EHL02', 2 => 'VHK02-EHK02'],
    13 => [1 => 'VHL03-EHL03', 2 => 'VHK03-EHK03'],
    14 => [1 => 'VHL04-EHL04', 2 => 'VHK04-EHK04'],
    15 => [1 => 'VHL05-EHL05', 2 => 'VHK05-EHK05'],
    16 => [1 => 'VHL06-EHL06', 2 => 'VHK06-EHK06'],
    17 => [1 => 'VHL07-EHL07', 2 => 'VHK07-EHK07'],
    18 => [1 => 'VHL08-EHL08', 2 => 'VHK08-EHK08'],
    19 => [1 => 'VHL09-EHL09', 2 => 'VHK09-EHK09'],
    20 => [1 => 'VHL10-EHL10', 2 => 'VHK10-EHK10']
];

// Die Reihenfolge wird erstellt, $video gibt an welches Video, $version die Version
$reihenfolge = [];
for ($i = 0; $i < count($video); $i++) {
    $reihenfolge[] = $zettelArray[$video[$i]][$version[$i]];
};

setPageOrder($reihenfolge, 'Prima');
closed with the note: Es liegen keine weiteren Informationen zu dem Problem vor, welche für eine hilfreiche Antwort erforderlich wären.
by s271093 (110 points)
Ich habe es eben mit diesem Code versucht, es wurden aber insgesamt 26 Videos angezeigt und anstatt jeweils 7 Videos pro Kategorie gab es eine Kategorie mit 17 Videos, die gezeigt wurden und bei den anderen jeweils 3 Videos.


// Array mit den Zahlen 1 bis 21 in zufälliger Reihenfolge
$video = range(1, 15);
shuffle($video);

// Array mit 7 mal 1 und 7 mal 2 und 7 mal 3 in zufälliger Reihenfolge
$version = array_merge(array_fill(0, 7, 1), array_fill(0, 7, 2), array_fill(0, 7, 3));
shuffle($version);

// 2D Array mit den Zettel (je Video- und Entscheidungszettel) (in den Spalten je mit Audio, Text und Audio+Text)
$zettelArray = [
    1 => [1 => 'VAT01-EAT01', 2 => 'VT01-ET01', 3=> 'VA01-EA01'],
    2 => [1 => 'VAT02-EAT02', 2 => 'VT02-ET02', 3=> 'VA02-EA02'],
    3 => [1 => 'VAT03-EAT03', 2 => 'VT03-ET03', 3=> 'VA03-EA03'],
    4 => [1 => 'VAT04-EAT04', 2 => 'VT04-ET04', 3=> 'VA04-EA04'],
    5 => [1 => 'VAT05-EAT05', 2 => 'VT05-ET05', 3=> 'VA05-EA05'],
    6 => [1 => 'VAT06-EAT06', 2 => 'VT06-ET06', 3=> 'VA06-EA06'],
    7 => [1 => 'VAT07-EAT07', 2 => 'VT07-ET07', 3=> 'VA07-EA07'],
    8 => [1 => 'VAT08-EAT08', 2 => 'VT08-ET08', 3=> 'VA08-EA08'],
    9 => [1 => 'VAT09-EAT09', 2 => 'VT09-ET09', 3=> 'VA09-EA09'],
    10 => [1 => 'VAT10-EAT10', 2 => 'VT10-ET10', 3=> 'VA10-EA10'],
    11 => [1 => 'VAT11-EAT11', 2 => 'VT11-ET11', 3=> 'VA11-EA11'],
    12 => [1 => 'VAT12-EAT12', 2 => 'VT12-ET12', 3=> 'VA12-EA12'],
    13 => [1 => 'VAT13-EAT13', 2 => 'VT13-ET13', 3=> 'VA13-EA13'],
    14 => [1 => 'VAT14-EAT14', 2 => 'VT14-ET14', 3=> 'VA14-EA14'],
    15 => [1 => 'VAT15-EAT15', 2 => 'VT15-ET15', 3=> 'VA15-EA15']
    
];

// Die Reihenfolge wird erstellt, $video gibt an welches Video, $version die Version
$reihenfolge = [];
for ($i = 0; $i < count($video); $i++) {
    $reihenfolge[] = $zettelArray[$video[$i]][$version[$i]];
};

setPageOrder($reihenfolge, 'Prima');
by SoSci Survey (327k points)
Vielleicht beschreiben Sie kurz, was das Ziel Ihres Designs ist?

In dem ursprünglichen Code stammten die Videos 1-10 im Array ja aus einem anderen Pool als die Videos 11-20.

> Ich habe es eben mit diesem Code versucht, es wurden aber insgesamt 26 Videos angezeigt

Ich hätte 15 Videos mal 2 Seiten erwartet. Was zeigt denn die Debug-Information der Seite mit dem PHP-Code?

> gab es eine Kategorie mit 17 Videos

Da müssten Sie bitte kurz erklären, wie Sie das geäußert hat? Also ... was bedeuten Ihre Seiten-Kennungen konkret?

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

...