0 votes
in SoSci Survey (dt.) by s109993 (12.0k points)

Ich habe eine Datenbank für Inhalte mit drei Spalten: Login, Klasse1 und Klasse2

Und ich habe eine Skala mit zwei Items, welches Platzhalter sind für die zwei Spalten der Klasse1 und Klasse2 aus der Datenbank.

Das funktioniert auch wunderbar.

Jetzt haben aber manche Zeilen bei Klasse1 oder Klasse2 keinen Wert in der Datenbank für Inhalte. in diesen Fällen sollte das jeweilige Item der Skala nicht leer (oder mit dem Platzhalter %Klasse1/2% angezeigt werden, sondern eben gar nicht.

Wie kann ich das umsetzen?

1 Answer

0 votes
by SoSci Survey (327k points)
selected by s109993
 
Best answer

Dafür müssen Sie die Anzeige der Frage per PHP-Code realisieren und die Liste der Items entsprechend vorgeben. Konkret, wenn die Frage AB01 ist, würden Sie erstmal eine Liste aller Items auslesen:

$items = getItems('AB01', 'all');

Dann würden Sie ggf. das Item (ich nehme als Beispiel mal Item 2) aus der Liste nehmen, wenn der Wert aus der Datenbank leer ist.

if (trim($wert2) == '') {
    $items = array_diff($items, 2);
}

Das natürlich zweimal. Und dann würden Sie die Frage mit den "restlichen" Items anzeigen.

question('AB01', $items);

Oder alternativ

show('AB01', [
    'items' => $items
]);
by s109993 (12.0k points)
Macht es einen Unterschied, wenn ich statt einer Skala eine Mehrfachskala verwende?

Mir wird ausgegeben:

array_diff(): Argument #2 must be of type array, int given


$items = getItems('A001', 'all');

if (trim(value('X001_05') == '')) {
    $items = array_diff($items, 1);
}

if (trim(value('X001_06') == '')) {
    $items = array_diff($items, 2);
}

question('A001', $items);
by SoSci Survey (327k points)
Stimmt, das Item, das aus der Liste entfernt werden soll, muss noch in eckige Klammern:

$items = array_diff($items, [1]);

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

...