Vielen Dank für die Antwort. "Leere Seiten überspringen" ist aktiviert.
Der PHP-Code ist für die erste Variante (Schieberegler auf Seite davor):
$input = 'AB07';
$output = 'AB08';
// Liste aller Items erstellen
$items = getItems($input, 'all');
// Alle Items durchgehen
foreach ($items as $item) {
// id() baut aus einer Fragekennung (AB07) und der Item-Nummer (z.B. 1) eine Item-Kennung (AB07_01)
// value() ließt den Antwortcode aus
$orgCode = value(id($input, $item));
// Nur positive Codes umkodieren
if ($orgCode > 0) {
// Subtrahieren von 1
$newCode = ($orgCode - 1) / 10;
} else {
// Fehlercodes beibehalten
$newCode = $orgCode;
}
// put() speichert den Wert in einer internen Variable
put(id($output, $item), $newCode);
}
Außer dem PHP-Code ist noch folgender HTML-Code auf der Seite:
<script type="text/javascript">
<!--
formatter = function(value, reversed) {
if (value < 0) return "";
return (Math.round((value - 1) * 1) / 10).toFixed(1) + " ";
}
SoSciSliders.setFormat(formatter);
// -->
</script>
Für die zweite Variante folgender PHP-Code (Fragebogenitems mit 0 beginnend kodieren statt mit 1 beginnend) :
$input = 'SQ01';
$output = 'SQ03';
// Liste aller Items erstellen
$items = getItems($input, 'all');
// Alle Items durchgehen
foreach ($items as $item) {
// id() baut aus einer Fragekennung (SQ01) und der Item-Nummer (z.B. 1) eine Item-Kennung (SQ01_01)
// value() ließt den Antwortcode aus
$orgCode = value(id($input, $item));
// Nur positive Codes umkodieren
if ($orgCode > 0) {
// Subtrahieren von 1
$newCode = $orgCode - 1;
} else {
// Fehlercodes beibehalten
$newCode = $orgCode;
}
// put() speichert den Wert in einer internen Variable
put(id($output, $item), $newCode);
}
Vielen Dank!