mit DOM erstellte Tabelle sortieren

chmee

verstaubtes inventar
Premium-User
HIER ist die eigentliche Frage gestellt worden, aber da schaut Niemand rein :D

Zu sehen hier : http://bf2.phreekz.de

Ich lasse mir per asynchronem Request eine Tabelle erstellen. Nun möchte ich diese sortierbar machen.
Die Scripts, die es im Netz gibt gibt, scheinen hier nicht zu greifen, da die Tabelle im Urzustand ( HTML/php-Datei ) keinen Inhalt hat.

Nun die Frage: Wie sortiere ich eine per JS-DOM erstellte Tabelle ?

-1- Ich speichere die erhaltenen Daten in Array, sortiere das Array und gebe es dann aus.
-2- Eine einfache Möglichkeit, die ich noch nicht kenne.

mfg chmee
 
Dass die Tabelle Eingangs leer ist sollte eigentlich keine Rolle spielen, entscheidend ist ja, wie die Tabelle aussieht, wenn du sie sortieren willst.

Ich würde wahrscheinlich auch die Array-Variante nehmen, das dürfte am schnellsten gehen.

Als Problem sehe ich da eher das dynamische Nachladen des Inhalts... das könnte bei viel Inhalt doch recht auf die Performance gehen, weil ja nicht nur sortiert werden muss, wenn man sortieren will, sondern auch, wenn neue Daten kommen.
 
Ich habe die 1.Variante gecodet. Welche Möglichkeiten habe ich denn, dass die Tabelle erhalten bleibt (der JS-Teil nicht neu startet, sondern das ge'cached'e) , nachdem ich in einem Unterlink auf zurück gehe ?

mfg chmee
 
Du könntest die ganzen Daten auf dem Server speichern...und dann einfach ausgeben, falls sie aktuell sind.

Cookies wären zwar sinnvoller, da besteht allerdings die Gefahr, dass es zu viel Daten werden und sie nicht mehr in einen Cookie passen.
 
Danke, Sven.

Habs mir einfach gemacht und alle Links _blank gesetzt..
Und wieder eine Frage, die mir vorhin noch einfiel :

(!) Ist leider auch mit php verbunden (!)
Da der momentane Server - den ich von meinem Server abfrage - recht langsam ist, würde ich gerne eine zweite Verbindung zu einem weiteren Server, der auch diese Daten hat, erstellen.. Beide leiden unter zeitweisen Ausfällen..

Nun, am Liebsten würde ich das in der php-Datei machen, die ich per Request abfrage.
1. Geht es in php, dass man 2x fopen (oÄ) benutzt ?
2. Oder sollte man 2x Request zu zwei verschiedenen php-Dateien schicken ? Die, welche zuerst antwortet, übergibt die Daten und unterbricht die andere Verbindung.
3. 2 Requests, jeweils abwechselnd, halbiert den Datenverkehr, aber macht mich abhängig von der Verbindung der jeweils langsameren Antwort.

mfg chmee
 
Naja...das erste wäre natürlich praktisch, dazu müsste ein PHP-Skript allerdings mehrere Dinge gleichzeitig tun können, kann es aber nicht :(

Die 2. Variante erscheint mir da am ehesten Sinnvoll.
 
Ich muss hier nochmal anknüpfen :

Einige Besucher ( !=FF ) meiner Seite haben mir gesagt, dass sich die Seite nicht zeigt.

Ich hätte gerne Jemanden, der mit nem Safari oder Linux-Browser raufgeht, dies
bestätigt und uU eine Fehlerlog zeigt, damit ich herausfinde, woran es liegt.

Ich vermute, dass es an meiner DOM-Programmierung liegt, weil ich keine Node-Attachments mache, sondern simpel per innerHTML reinschreibe. Zudem ist mir noch nicht klar, ob nun setAttribute(Name,Value) überall unterstützt wird oder der Weg über zB ".className =" die offizielle Variante ist.

Dank im voraus.
mfg chmee
 
Hi,

im IE wird die Tabelle StatsTabelle nicht angezeigt. Im Safari (Win) wird die Seite überhaupt nicht angezeigt. Erstelle ich jedoch eine Testdokument lokal (ohne Request), wird die Seite auch im Safari angezeigt - allerdings auch hier ohne die Statistiktabelle.

Die Statikstiktabelle wird nicht angezeigt, da du in der Funktion initTable die Zeilen direkt in das Tabellenobjekt einhängst. Richtig wäre jedoch das tbody-Objekt.
Code:
var TA = document.getElementById("StatsTabelle").getElementsByTagName("tbody")[0];
Weiterhin öffnest du in der gleichen Tabelle th-Tags, schliesst sie jedoch mit td.

Zuletzt ist mir aufgefallen, dass im letzten Scriptbereich das Schliessen des Kommentars (//-->) fehlt.

Vielleicht hilft dir das weiter.

Ciao
Quaese
 
Danke, die Geschichte mit dem tbody-Child hat geholfen. Die anderen Sachen sind soweit ausgebessert.

mfg chmee
 

Neue Beiträge

Zurück