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

0 votes

Hallo,
bei der Erstellung meines Fragebogens habe ich folgendes Problem.
Ich möchte auf der ersten Seite Geschlecht und Geburtstag abfragen.
Je nachdem, was dort eingegeben wird, soll auf der 2. Seite dann ein Bild erscheinen (ich habe 4 verschiedene Bilder - 2 mit Frauen abgebildet und 2 mit Männern)
Jetzt wäre es zuerst mal wichtig, dass wenn weiblich angeklickt wird auf jeden Fall nur Frauenbilder gezeigt werden. Zusätzlich sollte, wenn der Geburtstag eine gerade Zahl ist, das eine Bild mit der Frau gezeigt werden und wenn der Geburtstag eine ungerade Zahl ist eben das andere Bild.
Das gleiche wäre dann für die Männer.
Bitte um Hilfe.
Danke und lg

in SoSci Survey (dt.) by s082188 (110 points)

1 Answer

0 votes

Nun, nehmen wir einmal an, dass der Geburtstag mit Variable AB01_01 und das Geschlecht mit Variable AB02 (1=weiblich) abgefragt wird, dann könnte der PHP-Code auf Seite 2 wie folgt aussehen:

if (value('AB02') == 1) {
  // Frauen
  if ((int)value('AB01_01') % 2 == 0) {
    // Gerade Zahl
    $bild = 'frau1.jpg';
  } else {
    // Ungerade Zahl
    $bild = 'frau2.jpg';
  }
} else {
  // Männer (und ggf.: keine Angabe)
  if ((int)value('AB01_01') % 2 == 0) {
    // Gerade Zahl
    $bild = 'mann1.jpg';
  } else {
    // Ungerade Zahl
    $bild = 'mann2.jpg';
  }
}
// Bild noch anzeigen
html('<div style="text-align: center"><img src="'.$bild.'" alt=""></div>');

Wobei ich vermute, dass Sie einfach nur eine Randomisierung brauchen - Sie könnten sich also auch vom Geburtstag unabhängig machen: Urnen für Teilgruppen I

by SoSci Survey (85.1k points)
ok - mein Code sieht nun so aus:
if (value('SD01') == 1) {
  // Frauen
    html('<div style="text-align: center">
  <img src="pro://Frau1.jpg" alt="">
  <img src="pro://Frau2.jpg" alt="">
</div>');
   else {
    // Männer
   html('<div style="text-align: center">
  <img src="pro://Mann1.jpg" alt="">
  <img src="pro://Mann2.jpg" alt="">
</div>');
  }}

// Bild noch anzeigen
html('<div style="text-align: center"><img src="'.$bild.'" alt=""></div>');

funktioniert leider noch nicht - irgendwas zeigt er mir dann beim Test noch fehlerhaft an...
Die letzte Zeile ist jetzt überflüssig.
jetzt zeigt er mir in der Testversion folgendes an:
Im PHP-Code trat ein Fehler auf.

Fehler im Fragebogen: syntax error, unexpected 'else' (T_ELSE)
Zeile: 7

PHP-Code

004   <img src="pro://Frau1.jpg" alt="">
005   <img src="pro://Frau2.jpg" alt="">
006 </div>');
007 else {
008     
009    html('<div style="text-align: center">
010   <img src="pro://Mann1.jpg" alt="">
Hallo - hab bisschen experimentiert und jetzt klappt es!
Noch 2 letze Fragen: ich hääte gerne die Bilder beschriftet - geht das oder soll ich das Bild einfach schon beschriftet reingeben? ich muss nämlich zum Schluss 3 Fragen stellen wo entweder das eine bild oder das andere ausgewählt werden kann - hätte da jetzt einfach geren Bild A und Bild B damit sich die Leute auskennen. oder gibt es da eine einfachere Lösung?
zusätzlich - ist es hinten möglich die Bilder nebeneinander anzuzeigen?
Das sind wirklich meine letzten Fragen :) DANKE vielmals und lg
Eine einfachere Lösung? Klar! Verwenden Sie eine Frage vom Typ "horizontale Auswahl" bzw. zwei derselben (eine für Männer eine für Frauen) und tragen Sie als Itemtext für die Auswahloptionen einfach den HTML-Code für die Bilder ein. Via Filter können Sie dann die "richtige" Frage zeigen, je nach Geschlecht des Teilnehmers.
...