Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Rangliste sortieren ohne Platzierung zu ändern. Antworten
Rangliste sortieren ohne Platzierung zu ändern.

schubidu
Pixelschubser


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: 461


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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

schubidu
Pixelschubser


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?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

schubidu
Pixelschubser


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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren

schubidu
Pixelschubser


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?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

schubidu
Pixelschubser


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?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

schubidu
Pixelschubser


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.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

schubidu
Pixelschubser


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...

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Nach oben