Rangliste sortieren ohne Platzierung zu ändern. |
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Ich habe eine Rangliste, welche aus Tabellenwerten erzeugt. Nun möchte ich gerne diese Rangliste sortieren das die Platzierung erhalten bleibt.
Beispiel Standardsortierung:
1 | Z | 8 Punkte
2 | D | 4 Punkte
3 | E | 2 Punkte
Beispiel Sortierung nach Spalte 2:
2 | D | 4 Punkte
3 | E | 2 Punkte
1 | Z | 8 Punkte
Wer kann mir helfen?
|
 Profil
Editieren
Zitieren
|
NetDrag
Foren-Team
Beiträge: 442 |
Keine ahnung was du meinst. kannst du das besser erklären und ziegen wo genau das problem liegt?
---
We are born wet, naked and hungry, then things got worse!
|
 Profil
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Liegen die Daten als MySQL Tabelle vor? Dann geht das ganz einfach per SORT BY. Ansonsten wäre es eher nervig zu realisieren. Nur welche Datenstruktur du besitzt wäre von Vorteil zu wissen.
|
 Profil
Editieren
Zitieren
|
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Es geht um diese Seite http://test.landesruderverband.de/leistungssport/ranglisteergo.html
Die Tabelle wird als for-Schleife ausgegeben und der Rang einen hochgezählt.
Jetzt möchte ich gerne die Tabelle einmal nach Standart sortieren und dann z.B. nach Name, Vorname ohne dabei die vorherigen Daten zu verlieren. Habe selbst mit googlen nichts erreicht.
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Ja aber woraus bekommst du die Tabelle? Liegt die in nem Array vor, oder als MySQL-Resultat?
|
 Profil
Editieren
Zitieren
|
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Meine Sql-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22: | "SELECT `personen`.`name` AS `lastname`, `personen`.`vorname` AS firstname ,
YEAR( `personen`.`geburtstag` ) AS `age-group` ,
`ranglisteergo`.`korpgewicht` AS `weight`,
`ranglisteergo`.`korpgrosse` AS `height`,
`ranglisteergo`.`zeit` AS `time`,
`ranglisteergo`.`watt` AS `watt`,
DATE_FORMAT( `ranglisteergo`.`testdatum` , '%d.%m.%Y' ) AS `testdate`,
IF (
`ranglisteergo`.`testort_other` != '', `ranglisteergo`.`testort_other` , `stuetzpunkt`.`name`
) AS `testcity`,
`ranglisteergo`.`prel`,
`ranglisteergo`.`pindex`
FROM `personen` , `ranglisteergo`, `stuetzpunkt`
WHERE 1
AND YEAR(`geburtstag`) >= '1988'
AND `geburtstag` <= '1989-12-31'
AND `personen`.`id` = `ranglisteergo`.`personen`
AND `stuetzpunkt`.`id` = `ranglisteergo`.`testort`
AND `personen`.`geschlecht` =1
AND `testdatum` >= '2004-01-01'
AND `testdatum` <= '2004-12-31'
ORDER BY `pindex` DESC,`prel` DESC" |
Die Anweisung wird dann in einem Array gelegt und mit Smarty ausgegeben.
Diese Nachricht wurde geändert von: schubidu |
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Bua, riesen teil. Aber ich würde sagen, dass du einfach nur das ORDER BY ändern musst auf die entsprechende Spalte.
Diese Nachricht wurde geändert von: languitar |
 Profil
Editieren
Zitieren
|
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Aber ich habe dann immer noch nicht die Verküpfung Rang und Name.
Könnte man die Anweisung noch kürzen?
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Verknüpfung? Was wo wie?
Keine Ahnung ob man das kürzen könnte. Ich weiß nicth genau was du machen willst und wie deine Daten aussehen. So sieht der Query auf jeden Fall ziemlich monströs aus! Überleg dir mal, ob ud die Daten wirklich alle brauchst. Woher kommt denn der Rang in deinem Query?
|
 Profil
Editieren
Zitieren
|
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Der Rang wird mit Hilfe von einer for-Schleife in PHP gesetzt.
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Ja, hm, das ist ja eher ungünstig. Berechnet der sich nicht irgendwie aus den Daten der Tabelle?
|
 Profil
Editieren
Zitieren
|
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Genau das möchte ich nur ich weiß nicht wie.
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Ja aber wie sich der Rang errechnet weißt doch nur du.
|
 Profil
Editieren
Zitieren
|
schubidu
Pixelschubser Threadstarter
Beiträge: 12 |
Der Rang ergibt sich aus der absteigenden Sortierung von Prel und Pindex. Wenn du das meinst.
Kann man nicht in MySQL "einfach" eine Nummerierung mitgeben?
|
 Profil
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Kannst du das ganze nicht über AS realisieren? So einen Fall hatte ich auch noch nicht...
|
 Profil
Editieren
Zitieren
|