Ludwig Ruderstaller: + (Technik) Fadein/Fadeout bei ca. 10.000 Wörtern

Hallo Forum,

Ich programmier gerade als gefälligkeit eine kleine sache für shoa, sollte das jemanden nichts sagen, ist ein anderes wort für holocaust.

Auf dieser Seite sollen den getöteten Juden des KZ Mauthausen gedacht werden. Die Datenbank mit den Namen umfasst momentan ca. 20.000 einträge.

Gedacht ist die sache so:
Es kommt jemand auf die seite, dann soll per zufallszahl ein startpunkt gewählt werden, und von diesem punkt weg die namen alphabetisch angezeigt werden, die namen sollen dabei ein und ausgeblendet werden.

Hört sich in der Therorie einfach an ist es aber nicht.

Den startpunkt zu finden ist kein problem, genausowenig wie das alphabetische sortiern. Nur was mir probleme bereitet ist das JavaScript.

Bei einem test wo jeweils 10 Namen aus der DB ausgelesen werden, in ein Javascript geschrieben werden und von da dann client site verarbeitet werden. sind 10 namen dargestellt worden aktualisiert sich die seite selbst. (das php (server side natürlich) hohlt die nächsten 10 namen aus der DB... und so weiter ein kreislauf.

ich hab mal vergessen diese seite zu schliessen, nach 2h hatte ich 100MB traffic verbraten. :( vergrößere ich jedoch das array auf zb. 50 namen, ist die wahrscheinlichkeit groß, das nur 10-20 namen angezeigt werden, also wieder ein overhead an daten.

Gibt es evt. eine möglichkeit von javascript auf die Datenbank (mySQL) zuzugreifen? (textfiles sind meiner ansicht nach ein overkill bei dieser menge) und direkt aus der DB die namen zu hohlen?

Oder gibt es noch einen anderen weg, wie ich namen zum browser bringe ohne einen datenoverhead zu erzeugen?

danke
lg
Ludwig

  1. Hallo Ludwig!

    Zuerst einmal: Du kannst zwar mit einem Java Applet ueber JDBC auf die DB zugreifen, nicht jedoch mit JavaScript (AFAIK).

    Jetzt ist nun die Frage, wie Du das Array initialisierst. evtl. ist die Init zu lang und wird teilweise ignoriert. Vielleicht hilft es, wenn Du das Init auf mehrere Zeilen verteilst? Ohne Code kann man halt wenig anfangen.

    Gruß
    Thomas

  2. Hi Ludwig,

    Dein Problem ist wohl, dass es einfach so viele Daten _sind_. Umgehen kannst Du das m.E. nur, indem Du Dich bei einem einzelnen Seitenaufruf auf eine bestimmte Anzahl Namen (100 oder so) beschraenkst und nur durch die rotierst. Dann werden zwar auf der aktuellen Seite immer wieder dieselben Namen verwendet, aber ingesamt (also bei mehreren Seiten-Aufrufen) koennen doch alle Namen verwendet werden.

    Fuer die aktuelle Seite duerften aber doch die (beispielsweise) 100 Namen reichen, denke ich. Sooo lange guckt die ja doch keiner an.

    Wenn das natuerlich der Vorgabe widerspricht, weiss ich leider auch keine Loesung. Bei deinem Ansatz liest Du sukzessive die ganze Datenbank aus. Logisch gibt das massenweise Traffic.

    Gruesse,
    Andrea