Hallo,
ich habe ein kleines Problemchen.
Ich möchte eine Fußballtabelle anhand meiner Ergebnisse auf der Datenbank erstellen.
Bisher passiert das alles mit Arrays :
Ich würde das ganze jetzt gerne umstallen und meine neuen TEAM-Klassen benutzen.
Ich bin dann irgendwann an dem Punkt, dass ich $Team_1 bis $Team_18 habe mit den gleichen Daten gefüllt wie bei den Arrays oben.
Jetzt sind die ja noch unsortiert.
Wie bekomme ich die 18 Instanzen jetzt so sortiert, dass ich am Ende eine Tabelle ausgeben kann mit den ganzen Attibuten. Eben sortiert nach den 3 Attributen $Punkte, $Tordifferenz und $Toregesamt???
Per SQL vorsortieren geht nicht, weil die Punkte ja erst im Lauf der Schleife ermittelt werden und teilweise noch Abzüge berechnet werden usw.
Muss ich die 18 Instanzen jetzt in ein Array packen und das dann sortieren?
Wenn ja, wie sage ich dem Array dann, nach was es sortieren soll?
Wär cool, wenn mir da jemand helfen könnte.
Vielen Dank.
ich habe ein kleines Problemchen.
Ich möchte eine Fußballtabelle anhand meiner Ergebnisse auf der Datenbank erstellen.
Bisher passiert das alles mit Arrays :
PHP-Code:
//Das Array wird in einer Schleife mit den Daten der 18 Vereine gefüllt
$data_Vereine[] = array("Team" => $TEAMNAME,
"Platz" => 0,
"Heimpunkte" => $heimpunkte,
"Heimsiege" => $heimS,
"Heimunentschieden" => $heimU,
"Heimniederlagen" => $heimN,
"Heimtore" => $heimtore,
"Heimgegentore" => $heimgegentore,
"Auswärtssiege" => $auswS,
"Auswärtsunentschieden" => $auswU,
"Auswärtsniederlagen" => $auswN,
"Auswärtstore" => $auswtore,
"Auswärtsgegentore" => $auswgegentore,
"Auswärtspunkte" => $auswpunkte,
"Gesamtpunkte" => $auswpunkte + $heimpunkte - $Abzug,
"Tordifferenz" => ($heimtore + $auswtore)-($heimgegentore + $auswgegentore),
"Toregesamt" => ($heimtore + $auswtore)
);
foreach ($data_Vereine as $key => $row_Vereine)
{
$Verein[$key] = $row_Vereine['Team'];
$Gesamtpunkte[$key] = $row_Vereine['Gesamtpunkte'];
$Tordifferenz[$key] = $row_Vereine['Tordifferenz'];
$Toregesamt[$key] = $row_Vereine['Toregesamt'];
}
// Sortieren nach Gesamtpunkten, Tordifferenz, Gesamttoren
array_multisort($Gesamtpunkte, SORT_DESC, $Tordifferenz, SORT_DESC, $Toregesamt, SORT_DESC, $data_Vereine);
PHP-Code:
class Team
{
var $Team;
var $Punkte;
var $Tordifferenz;
var $Toregesamt;
//... alle anderen Attribute wie im Array oben
}
$Team_1 = new Team();
$Team_2 = new Team();
$Team_3 = new Team();
//... Bis $Team_18
Jetzt sind die ja noch unsortiert.
Wie bekomme ich die 18 Instanzen jetzt so sortiert, dass ich am Ende eine Tabelle ausgeben kann mit den ganzen Attibuten. Eben sortiert nach den 3 Attributen $Punkte, $Tordifferenz und $Toregesamt???
Per SQL vorsortieren geht nicht, weil die Punkte ja erst im Lauf der Schleife ermittelt werden und teilweise noch Abzüge berechnet werden usw.
Muss ich die 18 Instanzen jetzt in ein Array packen und das dann sortieren?
Wenn ja, wie sage ich dem Array dann, nach was es sortieren soll?
Wär cool, wenn mir da jemand helfen könnte.
Vielen Dank.
Kommentar