Hallo PP,
Ich mussein MySQL Tabelle mit cca 15.000 Datensätzen im Browser ausgeben (nein das war nicht meine Idee). Das ist ja an sich nicht das Problem, nur zwingt das den Browser dramatisch in die Knie.
vermutlich ist das ganz einfach. SELFHTML: <http://de.selfhtml.org/html/tabellen/aufbau.htm#vordefinieren@title=Spalten vordefinieren>.
Ja das ist bestimmt ein guter Hinweis, aber:
15.000 Zeilen à 30 Spalten dynamisch zu erzeugen benötigt schon etwas Zeit.
Ich habe mal getestet auf meinem lokalen System eine solche Tabelle per PHP generieren zu lassen - nur mit Dummy- Werten - ohne DB-Request.
Also 15.000 tr-Elemente, die jeweils 30 td-Elemente beinhalten und ja: colgroup habe ich auch verwendet.
Das PHP-Script lief 72 sekunden!
sicher dauert es, aber wenn die Daten ganz normal an den Browser geschickt werden, kann dieser die Tabelle aufbauen und alles das, was an Zeilen bereits da ist, anzeigen. Dass man erst spät zu Zeile 15.000 springen kann, ist klar. Nur wird der Browser nicht lahmgelegt, weil er ständig rechnen muss, wie er die Tabelle zu rendern hätte.
Wie Du bereits schriebst: Ajax zu verwenden, nur um die Daten zu übertragen, macht das ganze noch viel schlimmer.
Wenn eine Person wider besseres Wissen und trotz Gegenargumenten unbedingt 15.000 Datensätze à 30 Spalten haben will, dann muss sie mit den entsprechenden Konsequenzen leben.
Freundliche Grüße
Vinzenz