Hallo!
In der Tabelle stehen:
Feld1, Feld2 und die Summe aus beiden (Feld Gesamt)
Im Formular werden jetzt zwölf Zeilen mit den folgenden Feldern aufgelistet:
$Feld1, $Feld2 und $Gesamt
Wieso zwölf? $Feld1, $Feld2 und $Gesamt ist bei mir drei.
Die einzelnen Spalten werden über ein Select addiert:
$query="SELECT sum(feld1) AS sumfeld1, sum(feld2) AS sumfeld2, sum(gesamt) AS sumgesamt FROM tabelle WHERE id='$id' GROUP BY xyz";
Im Formular steht eine vierte Spalte (prozent), der Wert wird im Formular pro Zeile berechnet mit:
$prozent = $gesamt *100 / $sumgesamt;
Nach den Feldern Feld1, Feld2 und Gesamt kann ich problemlos sortieren (Klick auf einen Button und der Select wird durch ORDER BY ergänzt...)... ich möchte aber auch nach den Prozentwerten sortieren können. Um das zu tun habe ich den Tipp bekommen, die Berechnung in den Select zu packen, nach einigem probieren habe ich allerdings aufgegeben...
Dann gebe doch mal ein Beispiel mit so 10 Datensätzen. Man kann sich so ein besseres Bild machen.
MfG, André Laugks
Nochmal zu Richtigstellung, ja es sind nur drei Felder also drei Spalten und insgesamt werden 12 Zeilen (Datensätze) ausgelesen somit habe ich 12 Zeile mit jeweils 3 Feldern aus der Datenbank und noch eine zusätzliche Spalte mit der Prozentberechnung...
|Name |Feld1|Feld2|Gesamt|Prozent|
|Peter | 3 | 1 | 4 | 10,3% |
|Chris | 4 | 0 | 4 | 10,3% |
|Andrea | 4 | 4 | 8 | 20,6% |
|... | ... | ... | ... | ... |
.
.
.
| Summe | 21 | 7 | 28 | 100,0%|
Die Felder werden in einer Schleife abgefragt. Die Prozentzahl wie beschrieben innerhalb der Schleife berechnet.
Zuvor wird bereits ein select mit sum auf die Felder gemacht, dass ich entsprechend die Summenfelder habe und damit die Prozente ausrechnen kann... Möchte ich nun nach Prozenten sortieren dann funktioniert das nicht, da das Feld ja immer berechnet wird und nicht aus der DB stammt. Nach Feld1, Feld2 oder Gesamt zu sortieren ist kein Thema, aber die kommen ja auch aus der DB...