Problem mit Daten gruppieren
Problem mit Daten gruppieren
am 02.07.2006 22:55:00 von Jolantha Belik
Hi,
in einer Spalte einer Tabelle ist das Geschlecht als F bzw. M gespeichert
(derzeit 22 F und 3 M in der DB). Ich möchte F und M jeweils
zusammenzählen und in einer Tabellelle die jeweilige Anzahl samt
Prozentanteil ausgeben.
Daten werden geholt mit:
$query_oGeschlecht = "SELECT 1X5X101, COUNT(*) AS anzahl FROM survey_1
GROUP BY survey_1.`1X5X101`";
$oGeschlecht = mysql_query($query_oGeschlecht, $cs) or die(mysql_error());
$row_oGeschlecht = mysql_fetch_assoc($oGeschlecht);
$totalRows_oGeschlecht = mysql_num_rows($oGeschlecht);
$anz = mysql_fetch_array($oGeschlecht);
$anzahl = $anz['anzahl'];
$prozent = sprintf('%1.1f', $anzahl*100/$totalRows_opfer); //
$totalRows_opfer ist defineirt!
und so in die HTML-Tabelle geschrieben:
|
|
|
?>
Das Ergebnis schaut derzeit folgendermaßen aus:
Geschlecht / Anzahl / Prozent
F / 3 / 12.0
sollte aber so aussehen:
Geschlecht / Anzahl / Prozent
F / 22 / 78.0
M / 3 /12.0
Ich komme auf den Fehler einfach nicht drauf. Was muß ich ändern bzw. im
Code ergänzen, damit die Ausgabe korrekt funktioniert?
Grüße,
Jola
Re: Problem mit Daten gruppieren
am 03.07.2006 00:53:06 von Gerhard Pfeiffer
Hallo,
* Jolantha Belik :
> in einer Spalte einer Tabelle ist das Geschlecht als F bzw. M gespeichert
> (derzeit 22 F und 3 M in der DB). Ich möchte F und M jeweils
> zusammenzählen und in einer Tabellelle die jeweilige Anzahl samt
> Prozentanteil ausgeben.
>
> Daten werden geholt mit:
>
> $query_oGeschlecht = "SELECT 1X5X101, COUNT(*) AS anzahl FROM survey_1
> GROUP BY survey_1.`1X5X101`";
> $oGeschlecht = mysql_query($query_oGeschlecht, $cs) or die(mysql_error());
> $row_oGeschlecht = mysql_fetch_assoc($oGeschlecht);
> $totalRows_oGeschlecht = mysql_num_rows($oGeschlecht);
> $anz = mysql_fetch_array($oGeschlecht);
> $anzahl = $anz['anzahl'];
Diese Anzahl solltest du jedes Mal neu holen.
mit dem mysql_fetch_array holst du dir die zweite Zeile, so dass $anzahl der
Wert der anderen Gruppe (M) ist.
Die Berechnung der Anzahl und der Prozent musst du ja auch für jede Zeile neu
machen.
> $prozent = sprintf('%1.1f', $anzahl*100/$totalRows_opfer); //
> $totalRows_opfer ist defineirt!
>
> und so in die HTML-Tabelle geschrieben:
>
>
>
> |
> |
> |
>
>
> ?>
HTH.
Ciao,
Gerhard
Re: Problem mit Daten gruppieren
am 03.07.2006 13:42:01 von Johannes Vogel
Hi Jolantha
Jolantha Belik wrote:
> $query_oGeschlecht = "SELECT 1X5X101, COUNT(*) AS anzahl FROM survey_1
> GROUP BY survey_1.`1X5X101`";
Am Rande: Iik, wer will denn mit solchen Attributbezeichnungen
arbeiten?! Dein DB-Design ist kaputt.
SCNR, Johannes
Re: Problem mit Daten gruppieren
am 03.07.2006 17:27:34 von Jolantha Belik
"Johannes Vogel" tippselte ...
Hi Johannes,
> wer will denn mit solchen Attributbezeichnungen
> arbeiten?!
Wenn Du mit PHPSurveyor erstellte Umfragen weiterverarbeitest, wird Dir
nix anderes übrig bleiben.
> Dein DB-Design ist kaputt.
Weshalb bitte?
Grüße,
Jolantha
Re: Problem mit Daten gruppieren
am 03.07.2006 17:30:31 von Frank Schenk
Jolantha Belik wrote:
> "Johannes Vogel" tippselte ...
>
> Hi Johannes,
>
>
>>wer will denn mit solchen Attributbezeichnungen
>>arbeiten?!
>
>
> Wenn Du mit PHPSurveyor erstellte Umfragen weiterverarbeitest, wird Dir
--------------^^^^^^^^^^^
> nix anderes übrig bleiben.
>
>
>>Dein DB-Design ist kaputt.
Siehe markierte Zeile
Frank
Re: Problem mit Daten gruppieren
am 03.07.2006 18:18:44 von Jolantha Belik
"Frank Schenk" tippselte ...
> Siehe markierte Zeile
Ahja, schon klar, "alles was man nicht selber macht, ist Mist".
SCNR
Jola
P.S:: die seltsamen Namen setzen sich zusammen aus
umfrage_idXgruppen_idXfragen-id, ist also sehr wohl handlebar. ;-)
Re: Problem mit Daten gruppieren
am 03.07.2006 18:23:03 von Jolantha Belik
"Gerhard Pfeiffer" tippselte ...
Hallo Gerhard,
> Diese Anzahl solltest du jedes Mal neu holen.
> mit dem mysql_fetch_array holst du dir die zweite
> Zeile, so dass $anzahl der Wert der anderen
> Gruppe (M) ist.
> Die Berechnung der Anzahl und der Prozent musst
> du ja auch für jede Zeile neu machen.
Dein Hinweis hat mich auf den richtigen Weg gebracht - vielen Dank!
Grüße,
Jolantha
Re: Problem mit Daten gruppieren
am 03.07.2006 21:36:08 von Kai Ruhnau
Jolantha Belik wrote:
> "Frank Schenk" tippselte ...
>
>> Siehe markierte Zeile
>
> Ahja, schon klar, "alles was man nicht selber macht, ist Mist".
>
> SCNR
>
> Jola
>
> P.S:: die seltsamen Namen setzen sich zusammen aus
> umfrage_idXgruppen_idXfragen-id,
Die kodieren Teile der Daten in den Tabellennamen?
> ist also sehr wohl handlebar. ;-)
Nein, nein und nochmals nein! Das ist Lichtjahre entfernt von einer
brauchbaren Datenbankstruktur.
*GRUSEL*
Grüße
Kai
Fup2p, ich hab gerade keine Lust in eine Datenbankgruppe zu Fuppen.
--
This signature is left as an exercise for the reader.