Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 0
Seite [1]
SHEG


Beginner




Beiträge: 18
# Thema - 09.06.2010 um 21:31 Uhr
Hallo!

Dies ist ein weiterer meiner wenigen Posts hier im Forum, ich hoffe, die Form und der Ort ist in Ordnung

Ich nutze zwar schon seit längerem Clansphere, doch habe ich gerade eben erst meine erste Umfrage mit erlaubter Mehrfachauswahl (3 Optionen) gestartet. Ich habe auch sogleich an dieser Umfrage teilgenommen und alle Optionen ausgewählt. Danach fiel mir auf, dass für jede Option nur 33% angezeigt werden, obwohl sich eigentlich 100% aller Voter für jede Option entschieden haben. Momentan (auch in der Demo der 2010er Version von Clansphere) ergibt sich die Prozentzahl nach

Ergebnis für Antwort X = (Votes für Antwort X)/(Anzahl aller Votes) * 100%

Bei der Mehrfachauswahl wird ja für jede gewählte Antwort ein Eintrag in der Datenbank abgelegt, in meinem Fall wären dies 3, weil ich alle ausgewählt habe. Nach obiger Gleichung ergeben sich so - wie zur Zeit auch bei mir angezeigt - rund 33% für jede Option.

Meiner Meinung nach sollte das Ergebnis aber bei einer Umfrage mit Mehrfachauswahl nicht auf die Anzahl aller Votes sondern auf die Zahl der teilgenommenen User bezogen werden. Man möchte ja wissen, wie viele aller Teilnehmer welche Option bevorzugen.

Wenn nur eine einfache Auswahl möglich ist, sind Anzahl der Votes und Anzahl der User ja gleich. Daher sollte sich der Code zur Berechnung der Ergebnisse leicht abändern lassen, indem man sich immer auf die Anzahl der Teilnehmer bezieht.

Sollte dieser Vorschlag hier nicht auf positive Resonanz stoßen, wäre ich trotzdem froh, wenn mir jemand eine Möglichkeit nennen könnte, wie ich aus der voted-Tabelle nur die Anzahl der unterschiedlichen User-IDs auslesen kann, statt die Anzahl aller Voter.

Gruß,

SHEG

EDIT:

Ich bin's wieder Ich habe für mich eine Lösung gefunden. Diese ist vllt nicht sehr elegant, aber meine PHP Kenntnisse sind auch nicht die besten. Ich habe keine Funktion in PHP gefunden, die mir die absolute Häufigkeit eines Wertes in einem Array ausgibt. Also habe ich mir etwas zusammengebastelt.

Die Idee dahinter ist folgende: Ich lese alle User-IDs aus und speichere diese (auch wenn sie doppelt sind) in einem String und überprüfe diesen String dann auf das Vorkommen der jeweiligen User-IDs. Ich muss dazu sagen, dass ich eine private Seite mit Login-Bereich verwalte und daher nur angemeldete User mit ID an der Umfrage teilnehmen können, weswegen diese Art der Umsetzung für mich funktioniert. Hier der Quelltext dazu:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
1. / 2. / ... 
   $userlist '-';
  for (
$run 0$run $voted_loop$run++) {
  
$v_user $cs_voted[$run]['users_id'];
  
$userlist $userlist.$v_user.'-';
  }

  
$usermax X// hier die anzahl user rein
  
$usersnum 0;
  for (
$run 1$run <= $usermax$run++) {
  
$suche strstr($userlist'-'.$run.'-');
  if (!empty(
$suche)) {
  
$usersnum $usersnum+1// $usersnum muss nun in die Berechnung eingefuegt werden
  
} else { }
  }


Hoffe, damit ist ggf. auch anderen geholfen. Danke falls jemand sich schon an die Lösung meines Problems gemacht hat!

SHEG


Zuletzt editiert von SHEG am 10.06.2010 um 20:22 Uhr (2x Editiert)
Inaktiv
Antworten: 0
Seite [1]


Sie müssen sich registrieren, um zu antworten.