WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 25.04.2024 11:29:06

bbs2
Mitglied

Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Hallo,

Ich erstelle eine Auswertung für eine demnächst durchzuführende Umfrage mit mpform.
Fast alles super.
Das Droplet selbst funktioniert in sich gut:

[== PHP ==]
global $database, $wb;
$feld='field'.$field;
$Frage='<th colspan="2">'.$Frage.'</th>';
$beforeList='<br><table style="width:90%;border:1px solid;border-collapse: collapse;">';
$afterList='</table>';
$beforeElement='<tr><td style="width:20%;border:1px solid;">';
$afterElement='</td></tr>';
$elementDivider = '</td><td style="width:80%; border:1px solid;">';
$afterNumber='</td><td>';
$inhalt = $database->query("SELECT distinct ".$feld." FROM wbce_mod_mpform_results_".$table);
while ($row = $inhalt->fetchrow()) {      
$result = $database->query("SELECT * FROM wbce_mod_mpform_results_".$table." where "."$feld = '$row[0]'"); 
$anzahl  = $result->numRows();
$ausgabe.=$beforeElement.$anzahl.$elementDivider.$row[0].$afterElement;     
}
return $beforeList.$Frage.$ausgabe.$afterlist;

Problem:
Beim jeweils letzten Aufruf des Droplets in einer Code2-Seite springt die Auswertetabelle in den Fuß der Seite.

Aufruf in code2-Seite:

[== HTML ==]
[[StatMPform?field=226&Frage=Sind Sie für eine Arbeitszeiterfassung?&table=254]]
[[StatMPform?field=227&Frage=Wie wichtig ist die Arbeitszeiterfassung?&table=254]]
[[StatMPform?field=228&Frage=Erwarten Sie durch die AZ-Erfassung Verbesserungen?&table=254]]
[[StatMPform?field=231&Frage=Wie hoch ist Ihre Arbeitszeit pro Woche?&table=254]]

Siehe hierzu das Ergebnis:

https://vlw-rlp.de/pages/umfragestatistik.php

Bei 4 Aufrufen befindet sich die Ergebnistabelle 4 im Fuß der Seite.
Bei 3 Aufrufen befindet sich die Ergebnistabelle 3 im Fuß der Seite
u.s.w.

Erkennt jemand den Fehler?

Anmerkung:
Ich plane noch das Droplet dahingehend zu verbessern,  dass mehrere Aufrufe durch einen Aufruf ersetzt werden können.
Grundsätzlich ist es jedoch keine Problem für mehrere Felder mehrere Aufrufe zu tätigen.

Bei Interesse hier die URL für die geplante Umfrage:
https://vlw-rlp.de/pages/umfrage-zur-ar … assung.php


Danke und viele Grüße
Heinz

Offline

#2 25.04.2024 11:51:12

bernd
Developer

Re: Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Ich denke das $afterlist; im return ist das Problem, sollte wohl $afterList; sein.
Momentan fehlt den Tabellen der </table> ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#3 25.04.2024 12:36:49

bbs2
Mitglied

Re: Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Vielen Dank,

es läuft jetzt super.
Meine Betriebsblindheit hat nicht erkannt, dass ich statt des Großbuchstabens L
den Kleinbuchstaben l getippt habe.

Nun kann ich noch weiter an der Droplet-Verbesserung arbeiten.

Heinz

Offline

#4 25.04.2024 12:52:09

Slugger
Mitglied

Re: Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Und was ist mir den freien Kommentarfeldern?
Kommen die auch noch zur Auswertung?


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#5 25.04.2024 13:18:07

bbs2
Mitglied

Re: Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Hallo slugger,

freie Eingaben sind natürlich eine Auswerteprolem, da diese bei Teilnehmer einen
anderen Inhalt haben. Soche Felder sollte man grundsätzlich bei Umfragen vermeiden. Diese sind jedoch
hier erwünscht.

Für habe ich unter Nutzung des Droplets

[[getfielddata]]

eine Seite für die Auswertung der Textfelder eingerichtet.
Diese Seite kann dann über den browser ausgedruckt werden (Drucker, PDF)

Code2-Seite:

[== HTML ==]
<span>Gründe für die Erfassung der Arbeitszeit</span>
  <hr>
[[getfielddata?table=254&field=229&type=olist&sort=field229]]
<br>
<span>Gründe gegen die Arbeitszeiterfassung</span>
  <hr>
[[getfielddata?table=254&field=230&type=olist&sort=field230]]
<br>
<span>Offene Fragen</span>
  <hr>
[[getfielddata?table=254&field=243&type=olist&sort=field243]]
<br>

Viele Grüße
Heinz

Beitrag geändert von bbs2 (25.04.2024 13:23:55)

Offline

Liked by:

Slugger

#6 26.04.2024 09:41:43

bbs2
Mitglied

Re: Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Hallo,

hier noch einmal das korrigierte und sehr gut funktionierende droplet für die Auswertung von
multiple-choice-Fragen in einer mpform-Umfrage:

[== PHP ==]
global $database, $wb;
if (!isset($field)) {$message='<br>'.'Fehlende Feldnummer field, z.B. 226 oder 226,227'.'<br>';
return $message;}
if (!isset($Frage)) {$message='<br>'.'Fehlende Formulierung der Frage, z.B. Stimmen Sie zu'.'<br>';
return $message;}
if (!isset($table)) {$message='<br>'.'Fehlende Tabellenangabe, z.B. 254'.'<br>';
return $message;}
$feld='field'.$field;
$Frage='<th colspan="2">'.$Frage.'</th>';
    $beforeList='<br><table style="width:90%;border:1px solid;border-collapse: collapse;">';
	$afterList='</table>';
	$beforeElement='<tr><td style="width:20%;border:1px solid;">';
	$afterElement='</td></tr>';
	$elementDivider = '</td><td style="width:80%; border:1px solid;">';
	$afterNumber='</td><td>';
$inhalt = $database->query("SELECT distinct ".$feld." FROM wbce_mod_mpform_results_".$table);
while ($row = $inhalt->fetchrow()) {      
$result = $database->query("SELECT * FROM wbce_mod_mpform_results_".$table." where "."$feld = '$row[0]'"); 
$anzahl  = $result->numRows();
$ausgabe.=$beforeElement.$anzahl.$elementDivider.$row[0].$afterElement;     
}
return $beforeList.$Frage.$ausgabe.$afterList;

Der Aufruf bei 4 auszuwertenden Feldern lautet dann;

[== HTML ==]
[[StatMPform?field=226&Frage=Sind Sie für eine Arbeitszeiterfassung?&table=254]]
[[StatMPform?field=227&Frage=Wie wichtig ist die Arbeitszeiterfassung?&table=254]]
[[StatMPform?field=228&Frage=Erwarten Sie durch die AZ-Erfassung Verbesserungen?&table=254]]
[[StatMPform?field=231&Frage=Wie hoch ist Ihre Arbeitszeit pro Woche?&table=254]]

Das Droplet auch so gestaltet werden, dass mit einem Aufruf mehrere Felder ausgewertet werden:
z.B.
[[StatMPform?field=226,227,228,231&Frage=Sind Sie für eine Arbeitszeiterfassung?&table=254]]

Dazu müssten aber auch 4 unterschiedliche Fragen mitgegeben werden.
Dies erscheint mir zu komplex. Daher ziehe ich 4 Aufrufe (siehe oben) vor.

Textfelder oder textareas in Umfragen können sehr gut mit dem Droplet getfielddata ausgegeben werden:
Beispiel für 2 Fragen mit offenen Antworten:

[== HTML ==]
<span>Gründe für die Erfassung der Arbeitszeit</span>
  <hr>
[[getfielddata?table=254&field=229&type=olist&sort=field229]]
<br>
<span>Gründe gegen die Arbeitszeiterfassung</span>
  <hr>
[[getfielddata?table=254&field=230&type=olist&sort=field230]]
<br>

Viele Grüße
Heinz

Offline

Liked by:

Slugger

#7 03.05.2024 10:04:51

bbs2
Mitglied

Re: Auswertungs-Droplet in mpform mit eigenartigem Ausgabeergebnis

Hallo,

abschließende Info zum Droplet in der vorherigen Nachricht.

Das Droplet lief in der einwöchigen Umfrage in unserem Verband
fehlerfrei. Es konnten jederzeit in Echtzeit die Ergebnisse
abgefragt werden.

Viele Grüße
Heinz

Offline

Liked by:

florian

Fußzeile des Forums

up