Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:checks-php [15.11.2018 10:28] – angelegt adminde:create:checks-php [19.03.2022 16:32] admin
Zeile 15: Zeile 15:
 Eine Fehlermeldung können Sie anzeigen, wenn Sie als Argument in der Funktion ''repeatPage()'' die Kennung eines Textbausteins eintragen (s. unten). Alternativ können Sie auch einen entsprechenden Textbaustein mittels [[:de:create:functions:text|text()]] anzeigen. Für die zweite Variante wählen Sie beim Anlegen des Textbausteins aus, dass der Text im Stil einer //Warnung// angezeigt wird -- dann erhält er dieselbe Formatierung wie die Standard-Fehlermeldungen. Eine Fehlermeldung können Sie anzeigen, wenn Sie als Argument in der Funktion ''repeatPage()'' die Kennung eines Textbausteins eintragen (s. unten). Alternativ können Sie auch einen entsprechenden Textbaustein mittels [[:de:create:functions:text|text()]] anzeigen. Für die zweite Variante wählen Sie beim Anlegen des Textbausteins aus, dass der Text im Stil einer //Warnung// angezeigt wird -- dann erhält er dieselbe Formatierung wie die Standard-Fehlermeldungen.
  
 +Im folgenden finden Sie einige Anwendungsbeispiele für individuelle Antwortprüfungen inklusive dem erforderlichen PHP-Code.
  
-===== Beispiel: Mehrfachauswahl-Matrix ===== 
  
-In einer gewöhnlichen Skala kann man einfach überprüfen lassen, ob der Teilnehmer in jeder Zeile eine Option markiert hat. Wenn man aber eine [[:de:create:combine|kombinierte Frage]] verwendet, welche dem Teilnehmer mehrere Kruezchen pro Zeile erlaubt (Mehrfachauswahl-Matrix), dann benötigt man ein wenig PHP-Code zur Überprüfung, ob wirklich in jeder Zeile etwas ausgewählt wurde.+===== Mehrfachauswahl-Matrix ===== 
 + 
 +In einer gewöhnlichen Skala kann man einfach überprüfen lassen, ob der Teilnehmer in jeder Zeile eine Option markiert hat. Wenn man aber eine [[:de:create:combine|kombinierte Frage]] verwendet, welche dem Teilnehmer mehrere Kreuzchen pro Zeile erlaubt (Mehrfachauswahl-Matrix), dann benötigt man ein wenig PHP-Code zur Überprüfung, ob wirklich in jeder Zeile etwas ausgewählt wurde.
  
 Das folgende Beispiel geht davon aus, dass 4 Mehrfachauswahl-Fragen ("MA01" bis "MA04") mit jeweils 10 Items zu einer Mehrfach-Auswahlmatrix kombiniert wurden. Falls in einer Zeile kein Kreuzchen gesetzt wurde, soll diese hervorgehoben werden und es soll der Text "MA05" als Fehlermeldung angezeigt werden. Das folgende Beispiel geht davon aus, dass 4 Mehrfachauswahl-Fragen ("MA01" bis "MA04") mit jeweils 10 Items zu einer Mehrfach-Auswahlmatrix kombiniert wurden. Falls in einer Zeile kein Kreuzchen gesetzt wurde, soll diese hervorgehoben werden und es soll der Text "MA05" als Fehlermeldung angezeigt werden.
Zeile 84: Zeile 86:
  
  
-===== Beispiel: Alle Items oder gar keines =====+===== Alle Items oder gar keines =====
  
 Der folgende PHP-Code überprüft, ob in einer Skala alle Items beantwortet wurden -- oder gar keines. Die Kennung der Frage (im Beispiel ''AB01'') muss entsprechend der tatsächlichen Frage-Kennung geändert werden, die Fehlermeldung muss als Textbaustein abgespeichert werden. Sofern die Kennung dieses Textbausteins nicht "error_AB01" lautet, muss auch diese Kennung angepasst werden. Der folgende PHP-Code überprüft, ob in einer Skala alle Items beantwortet wurden -- oder gar keines. Die Kennung der Frage (im Beispiel ''AB01'') muss entsprechend der tatsächlichen Frage-Kennung geändert werden, die Fehlermeldung muss als Textbaustein abgespeichert werden. Sofern die Kennung dieses Textbausteins nicht "error_AB01" lautet, muss auch diese Kennung angepasst werden.
Zeile 96: Zeile 98:
 if ((count($answered) > 0) and (count($answered) < count($items))) { if ((count($answered) > 0) and (count($answered) < count($items))) {
   repeatPage('error_AB01');   repeatPage('error_AB01');
 +}
 +</code>
 +
 +
 +===== Konsistenzprüfung Texteingabe =====
 +
 +Bei offenen Texteingaben kann eingestellt werden, dass sie nur Zahlen akzeptieren ([[:de:create:checks#eingabe_von_nummern|Antworten prüfen: Eingabe von Nummern]]). Im folgenden soll überprüft werden, ob in drei Eingabefeldern konsistente Werte eingetragen wurden.
 +
 +  * TX01_01 -- Anzahl von Personen im Unternehmen
 +  * TY02_01 -- Anzahl von Führungskräften im Unternehmen
 +  * TY02_02 -- Anzahl von Mitarbeiter:innen, die kurz vor dem Ruhestand stehen
 +
 +Es soll nun sichergestellt werden, dass die Werte bei TY02_01 und TY02_02 jeweils nicht höher sind als die Gesamtanzahl der Mitarbeiter:innen (TX01_01). Falls doch, soll der Text mit Kennung TX02 als Fehlermeldung angezeigt werden.
 +
 +Die mittels ''value()'' abgerufenen Werte können dafür einfach mittels kleiner-als (''<'') oder größer-als (''>'') Operator verglichen werden. Das logische Oder (''||'') prüft, ob mindestens eine der beiden Voraussetzungen verletzt ist.
 +
 +<code php>
 +if (
 +  (value('TY02_01') > value('TX01_01')) ||
 +  (value('TY02_02') > value('TX01_01'))
 +) {
 +  repeatPage('TX02');
 } }
 </code> </code>
de/create/checks-php.txt · Zuletzt geändert: 16.04.2024 21:05 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki