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

Hi,

ich habe folgenden php-Code Teil:

...
elseif($beschreibung == 'Ich hatte einen Unfall (z.B. einen Verkehrsunfall, Haushaltsunfall oder schweren Sturz).'){
replace('%ereignis%','Unfall');
...

Die Zuweisung funktioniert nicht richtig und ich vermute das liegt an den Klammern innerhalb des Strings. Kann ich das Problem irgendwie umgehen?

Vielen Dank und viele Grüße

by SoSci Survey (327k points)
Bitte prüfen Sie mittels debug($beschreibung); was in der Variable überhaupt gespeichert ist. Wo kommt diese Variable denn her?
by s229268 (160 points)
Danke für die Antwort!

$beschreibung wird so angelegt: $beschreibung = getItemtext($frage, $itemID);

Die Variable enthält den Text eines randomisiert ausgewählten Items aus dem Fragebogen. In der If-Schleife möchte ich gerne darauf zugreifen.

Wenn $beschreibung dem Item1 ('Ich hatte einen Unfall (z.B. einen Verkehrsunfall, Haushaltsunfall oder schweren Sturz).') entspricht, dann...
wenn $beschreibung dem Item2 ('Ich bin krank geworden.') entspricht, dann... usw.

Ein Problem entsteht bei mir, wenn der Text eines Items Klammern enthält.

1 Answer

0 votes
by SoSci Survey (327k points)

Meines Erachtens wäre es weniger fehleranfällig, wenn Sie den Filter direkt mit der $itemID arbeiten lassen:

$beschreibung = getItemtext($frage, $itemID);
if ($itemID == 1) {
   replace('%ereignis%', 'Unfall');
} else {
  replace('%ereignis%', $beschreibung);
}

Aber sehen wir uns gerne Ihren Filter nochmal an. Ich habe Ihre Frage so verstanden, dass der Filter nicht richtig greift, also nicht aktiv wird. Um das einzugrenzen, ergänzenSie bitte das debug() wie oben beschrieben und teilen Sie mit, was angezeigt wird.

$beschreibung = getItemtext($frage, $itemID);
debug($beschreibung);

Posten Sie bitte (z.B. als Kommentar unter meine Antwort) auch gerne die komplette Debug-Information der Seite.

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

...