0 votes
in SoSci Survey (dt.) by s094803 (160 points)
edited by SoSci Survey

Guten Tag,

vielen Dank für die Hilfe.

Ich habe leider immer noch ein Problem beim Auslesen des Textes des Arrays (hier $zettel1). Standardmäßig werden hier Ziffern ausgelesen. Die Ziffern stehen in meinem Fall für Bilder "bild1" bis "bildn".

In dem Array $zettel1 sind drei von sechs möglichen Bilder enthalten. Mit dem Befehl put kann ich nur das erste Element als Text (z. B. bild1") auslesen. Bei den anderen internen Variablen erscheint immer derselbe Text für das erste Bild, da der Zähler des Arrays nicht weitergezählt wird.

Bei Verwendung der eckigen Klammer hinter dem Array werden die Buchstaben "b", "i" und "l"in die internen Variablen ausgelesen. Die Beispiele für Arrays, die ich im Forum gefunden haben, beziehen sich auf numerische Werte und nicht auf alphanumerische Zeichenfolgen.

Gibt es eine Möglichkeit, den Zähler des Arrays in dem Putbefehl so hochzuzählen, dass ich die Texte der drei unterschiedlichen per Zufall gezogenen Bilder in die internen Variablen einlesen kann? Die Übergabe in die entsprechenden fragen erfolgt dann mit dem Replace-Befehl. Das funktioniert.

Vielen Dank!

Das PHP-Programm

// loopPage(6) liefert eine Zahl von 0 bis 2 (eins mehr bei jeder Wiederholung)
$i = loopPage(3);  // Hier die Zahl der zu zeigenden Bilder eintragen

// Die Variablennamen lauten ZG01x01 bis ZG02x03  

//Auslesen der Zahl der Zettel aus „ZG01“ 
$zettel1 = 'ZG01x'.sprintf('%02d', $i + 1);

//Auslesen der Zahl der Zettel aus „ZG02“ 
$zettel2 = 'ZG02x'.sprintf('%02d', $i + 1);


$imgSRC1 = value($zettel1, 'label');
$imgSRC2 = value($zettel2, 'label');


put ('IW01_01', $imgSRC1);

replace('%foto1%', 'IW01_01','response');  

1 Answer

0 votes
by SoSci Survey (304k points)

Ihr PHP-Code ermittelt 2x3 Werte, zeigt aber nur 1x3 Bilder an. Ich bin nicht sicher, ob Sie das zweite Bild (pro Seite) überhaupt anzeigen möchten? Wenn nicht, dann lassen Sie alles weg, wo $zettel2 steht.

Das put() ist m.E. auch überflüssig.

Sie schreiben in der ursprünglichen Frage:

a) Zwei Zufallsgeneratoren zum Ziehen von drei aus sechs Bildern ohne Zurücklegen

Meine Empfehlung wäre, dass Sie einen (!) Zufallsgenerator anlegen, dort die 6 Bild-Namen als "Codes" hineinlegen und dann im Zufallsgenerator einstellen, dass Sie drei Werte pro Interview ziehen möchten. Außerdem empfehle ich, nur mir replace() statt value() zu arbeiten.

Der PHP-Code sähe dann (direkt unter dem Zufallsgenerator) aus wie folgt:

replace('%bild1%', 'ZG01x01', 'response');
replace('%bild2%', 'ZG01x02', 'response');
replace('%bild3%', 'ZG01x03', 'response');

(mehr nicht)

Ob Sie dann noch ein loopPage() benötigen, weiß ich nicht. Möchten Sie denn die Bilder auf mehrere Seiten verteilen?

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

...