Daten sortieren
Tom
- datenbank
0 Cheatah0 Tom0 Klaus Mock0 Cheatah
0 Helmut Weber0 Klaus Mock
Hallo zusammen!
Habe ein Java servlet das Daten aus einer Datenbank wollt und sie dann im Browser entsrechend darstellt!
Jetzt würde ich gerne ein weiteres Feature einbauen womit ich die Daten mit einem klick auf die jeweilige Tabellenüberschrift sortieren kann. Desweiteren will ich mir pro Spalte zwei pfeile einbauen(absteigend,aufsteigend). Derjenige pfeil soll markiert sein nach der Spalte wo sortiert ist!
Kann mir jemand mit seinem Wissen helfen oder aht es schon jemand so realisiert????
Gruss Tom
Hi,
Kann mir jemand mit seinem Wissen helfen oder aht es schon jemand so realisiert????
ich weiß schon gar nicht mehr wie oft ... :-)
Bei der SQL-Abfrage kannst Du in der ORDER BY Klausel die Spalte/n angeben, nach der/denen sortiert werden soll. Details verrät die Dokumentation Deines DBMS. Bitte sei bei zukünftigen SQL-bezüglichen Fragen so gut und sage _unbedingt_ dazu, um welches DBMS es sich handelt - es ist purer Zufall, wenn ohne diese Angabe eine Frage wenigstens mit relativ hoher Wahrscheinlichkeit beantwortet werden kann.
Cheatah
Hi,
Kann mir jemand mit seinem Wissen helfen oder aht es schon jemand so realisiert????
ich weiß schon gar nicht mehr wie oft ... :-)
Bei der SQL-Abfrage kannst Du in der ORDER BY Klausel die Spalte/n angeben, nach der/denen sortiert werden soll. Details verrät die Dokumentation Deines DBMS. Bitte sei bei zukünftigen SQL-bezüglichen Fragen so gut und sage _unbedingt_ dazu, um welches DBMS es sich handelt - es ist purer Zufall, wenn ohne diese Angabe eine Frage wenigstens mit relativ hoher Wahrscheinlichkeit beantwortet werden kann.
Cheatah
Danke mal, es handelt sich um Oracle, sprich ich muss wieder ne neue abfrage starten geht das nicht irgendwie schon mit den Daten in der Tabelle ohne eine neue Abfrage zu starten??
Ich habe ein Statement und ich ahbe mir nur die Frage gestellt ob ich das Ergebniss des Statements nicht im Nachhinein sortieren kann, Bsp mit einem Array oder so?
Hallo,
Ich habe ein Statement und ich ahbe mir nur die Frage gestellt ob ich das Ergebniss des Statements nicht im Nachhinein sortieren kann, Bsp mit einem Array oder so?
Dazu müßte dem Servlet das vollständige Abfrageergebnis für eine Neusortierung bekannt sein, was an sich auch machbar wäre, allerdings wirklich viel zusätzlichen Programmieraufwand bedeuten würde.
Ob der Mehraufwand wirklich vertretbar ist, zumal eine Datenbank für genau solche Aufgaben gedacht ist, ist wirklich fraglich.
Grüße
Klaus
Hi,
Danke mal, es handelt sich um Oracle,
schön :-)
sprich ich muss wieder ne neue abfrage starten
Nein, das SQL-Statement, welches Du bereits benutzt, reicht völlig. Es braucht nur eine ORDER BY Klausel.
Cheatah
Hallo Tom,
Ich gehe jetzt einfach mal von einer MySQL-Datenbank aus (bei anderen Datenbanken sollte es so ähnlich funktionieren).
Sortieren kannst Du die Datenbankausgabe mit der ORDER BY-Klausel. Mit den Schlüsselwörtern DESC (absteigend) und ASC (aufsteigend) kannst Du die Sortierung beeinflussen.
Jetzt musst Du, je nach Tabellenzelle und Sortierung die geklickt wurde, dein SQL-Query beeinflussen:
SELECT titel01, titel02 FROM tabelle ORDER BY titel02 DESC
Gruß
Helmut Weber
Hallo,
Jetzt würde ich gerne ein weiteres Feature einbauen womit ich die Daten mit einem klick auf die jeweilige Tabellenüberschrift sortieren kann. Desweiteren will ich mir pro Spalte zwei pfeile einbauen(absteigend,aufsteigend). Derjenige pfeil soll markiert sein nach der Spalte wo sortiert ist!
Das mit ORDER BY ist ja wohl schon mal geklärt;-)
Was Der Lösung jetzt noch fehlt, ist ein Mechanismus, wie Du dem Servlet mitteilst, nach welcher Spalte wie sortiert werden soll. Dazu gibt es mehrere Möglichkeiten, perl Link, Formular oder (ganz wild) z.B. per Cookie. Welche Variante die geschicktere ist, hängt imho stark von der übrigen Umsetzung ab. Am Besten Du integrierst in den momentanen Abfrage-Mechanismus zwei zusätzliche Parameter, mit dem Du dem Servlet die notwendigen Informationen zukommen lässt.
Der Rest sollte an sich nicht mehr schwer sein.
Grüße
Klaus