TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

jetzt buchen

pbsurvey / nc_pbsurveyfesimplestats statt % Durchschnitssnote ausgeben


Autor Nachricht
Verfasst am: 27. 08. 2009 [01:59]
elv1s
Themenersteller
Dabei seit: 05.10.2003
Beiträge: 494
Hallo,

gibt es auch eine Möglichkeit die Ergebnisse nicht als % sondern als Durchschnittsnote auszugeben. Mann kan ja im Backend eingeben wieviel Punkte jedes Antwort wert ist.

Es wäre toll wenn man z.B.
Frage 1
Antwort 1 - 3 Punkte
Antwort 2 - 5 Punkte
Antwort 3 - 10 Punkte

Frage 2
Antwort 1 - 3 Punkte
Antwort 2 - 5 Punkte
Antwort 3 - 10 Punkte

Dann hätte ich gerne als ergebnis pro Antwort eine Durchschnittsnote und eine Gesamt-Durchschnittsnote.

Also,
Frage 1 (10 Antworte)
Antwort 1 - (3x 3Punkte =9)
Antwort 2 - (6x 5Punkte =30)
Antwort 3 - (1x 10Punkte =10)
-----------------------
macht durchschnittlich für Frage 1 - 4,9 (49/10 Antworte)

Frage 2 (10 Antworte)
Antwort 1 - (4x 3Punkte =12)
Antwort 2 - (2x 5Punkte =10)
Antwort 3 - (4x 10Punkte =40)
-----------------------
macht durchschnittlich für Frage 2 - 6,2 (62/10 Antworte)

-----------------------
macht durchschnittlich für Frage 1 & Frage 2 - 5,55 (111/20 Antworte)

Wäre toll wenn jemand eini Vorschlag hat wie dies umzusetzten wäre.

Danke und viele Grüße
Profil
Verfasst am: 27. 08. 2009 [13:21]
elv1s
Themenersteller
Dabei seit: 05.10.2003
Beiträge: 494
Hallo,

also ich bin nun ein wenig weiter gekommen..

Ich habe ext. nc_pbsurveyfesimplestats installiert. Damit kann man eben Statistik / Ergebnisse im Frontend ausgeben.
Dies funktioniert soweit auch, nur werden dies eben in Prozente ausgegeben und ich möchte eben eine Durchschnittsnote ausrechnen lassen.

Ich habe mir jetzt mal folgende Datei angeschaut - nc_pbsurveyfesimplestats/lib/class.tx_ncpbsurveyfesimplestats_questions.php

Da habe ich eine bzw. zwei Stelle gefunden wo der Rechnenarbeit stattfindet.

PHP
function calculatePercentages() {
	foreach($this->questions as $iQuestionKey => $aItem) {
		if(!in_array($aItem->iQuestionType, array(6, 8, 9))) {
			$iTotal = $aItem->iTotal;
			foreach($aItem->aAnswers as $iAnswerKey => $aAnswer) {
				$iAnswerTotal = $aAnswer->iAmount;
				$iAnswerPercentage = $iTotal !=0 ? ($iAnswerTotal / $iTotal) * 100 : 0;
$this->questions[$iQuestionKey]->aAnswers[$iAnswerKey]->setPercentage($iAnswerPercentage);
			}
		} else {
			foreach($aItem->aRows as $iRowKey => $aRow) {
				$iTotal = $aRow->iTotal;
				foreach($aRow->aAnswers as $iAnswerKey => $aAnswer) {
			$iAnswerTotal = $aAnswer->iAmount;
			$iAnswerPercentage = $iTotal !=0 ? ($iAnswerTotal / $iTotal) * 100 : 0;
$this->questions[$iQuestionKey]->aRows[$iRowKey]->aAnswers[$iAnswerKey]->setPercentage($iAnswerPercentage);
			}
		}
	}
}
}


Gerade die Stelle
PHP
$iAnswerPercentage = $iTotal !=0 ? ($iAnswerTotal / $iTotal) * 100 : 0;


iAnswerTotal steht für Anzahl von eine bestimmte Antwort
und iTotal für die insgesamt abgegebene Antworten pro Frage.

### Durchschnittsnote pro Frage
Nun muss ich aus der mysql Tabelle "tx_pbsurvey_answers" / Spalte "answer" alle ergebnisse für eine bestimmte Frage (mysql spalte "question"icon_wink.gif abfragen und zusammenrechnen und diesen Zahl dann durch iAnswerTotal teilen

### Durchschnittsnote insgesamt (alle Fragen zusammen)
Nun muss ich aus der mysql Tabelle "tx_pbsurvey_answers" / Spalte "answer" alle ergebnisse für eine bestimmte Ordner (mysql spalte "pid"icon_wink.gif abfragen und zusammenrechnen und diesen Zahl dann durch iTotal teilen.

Nur...... Da fehlen mir leider nur PHP know-how.

Wenn jemand da helfen könnte, wäre super.
Gruss
Profil
Verfasst am: 18. 12. 2009 [12:23]
lasse_69
Dabei seit: 20.05.2005
Beiträge: 42
Hallo elv1s,

hast du mittlerweile eine Lösung?

Gruß,
lasse
Profil