Individuum
Mitglied
[gelöst] Sortierung Array & DB gleichzeitig ...
Hi, also der CODE: ( keine Panik Problemstellung unter dem code )
Die Ausgabe:
Ihr seht mein Problem.
Die Fahrer werden nach ID ausgegeben, ich hätte es aber gerne so das der mit den meisten Punkten an #1 geführt wird und dann absteigend.
Aber ich weiss nicht wie ich das realisiern soll, da die Daten aus der DB kommen und die Punkte des Fahrers ja im Array _$FahrerPt[$dbout["FId"]]_ stecken.
Mir fehlt einfach eine Idee wie ich die Sortierung nach Punkten gestalte / löse.
Bin für alle Ratschläge offen.
Euer Indi
Hi, also der CODE: ( keine Panik Problemstellung unter dem code )
PHP:
// Rangliste Fahrer
echo "<table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr class=\"table-head\"><td colspan=\"4\"><div align=\"center\">Rangliste Fahrer</div></td></tr>";
$db1->query(" SELECT fahrer.id AS FId, ergebnisse.platz AS Platz, ergebnisse.rennen AS Rennen
FROM fahrer
JOIN ergebnisse
WHERE fahrer.id = ergebnisse.fahrer AND fahrer.aktiv = 'Y' AND ergebnisse.platz <=8 AND ergebnisse.platz >0
ORDER BY FId, Rennen ");
while($dbout = $db1->fetch())
{
$Points = 0;
switch ($dbout["Platz"])
{
case 1: $Points = 10; break;
case 2: $Points = 8; break;
case 3: $Points = 6; break;
case 4: $Points = 5; break;
case 5: $Points = 4; break;
case 6: $Points = 3; break;
case 7: $Points = 2; break;
case 8: $Points = 1; break;
}
If ( $FahrerPt[$dbout["FId"]] == "") $FahrerPt[$dbout["FId"]] = 0;
$FahrerPt[$dbout["FId"]] = $FahrerPt[$dbout["FId"]] + $Points;
}
// Ausgabe
$db1->query(" SELECT fahrer.id AS FId, fahrer.Nachname, fahrer.Vorname
FROM fahrer
WHERE fahrer.aktiv = 'Y'
ORDER BY FId");
$i = 0;
while($dbout = $db1->fetch())
{
$i++;
echo "<tr class=\"table-content\"><td>".$i."</td><td>".$dbout["Vorname"]."</td><td>".$dbout["Nachname"]."</td><td>". $FahrerPt[$dbout["FId"]] ."</td></tr>\n";
}
echo "</table>";
Die Ausgabe:
Code:
Rangliste Fahrer
1 Michael Schumacher_____62
2 Rubens Barrichello _____45
3 Ralf Schumacher ______44
4 Juan Pablo Montoya ____39
5 David Coulthard _______32
6 Kimi Räikkönen_______ 17
7Jarno Trulli___________ 0
8 Fernando Alonso ______3
Ihr seht mein Problem.
Die Fahrer werden nach ID ausgegeben, ich hätte es aber gerne so das der mit den meisten Punkten an #1 geführt wird und dann absteigend.
Aber ich weiss nicht wie ich das realisiern soll, da die Daten aus der DB kommen und die Punkte des Fahrers ja im Array _$FahrerPt[$dbout["FId"]]_ stecken.
Mir fehlt einfach eine Idee wie ich die Sortierung nach Punkten gestalte / löse.
Bin für alle Ratschläge offen.
Euer Indi
Zuletzt bearbeitet: