MiSo: Dynamische Seiteninhalte

Ich hab schon ein mal nachgefragt, jedoch unter einem etwas anderen Aspekt. Stellt mich also nicht wegen Doppelpostig an den Pranger.

Problemstellung ist die Folgende:
ich hab eine SQL Datenbank und für die hab ich ein Interface geschrieben. Das kann so Sachen wie automatisch je nach Datenbankgestaltung Suchformulare entwerfen etc. Das ganze läuft über PHP und MySQL. Das Ergebnis kann sich zwar sehen lassen, mich störts aber, dass ich bei jeder Benutzereingabe die Seite neu lad um die POST/GET - Parameter zu verarbeiten. Das sieht nicht schön aus, das nimmt Zeit in anspruch.

Zwei ansätze hab ich schon mal und hätt gerne von euch Vorschläge, wie man diese evtl. am besten umsetzt oder vielleicht weitere Ideen?

  1. AJAX / innerHTML
    Was ich mich überlegt hatte, war mit AJAX bequem die ganzen Parameter an die Scripte zu übergeben, sich den Seiteninhalt von diesen "Berechnen" zu lassen (also alles was sie bei dem normalen neuladen anstellen würden) und anschließend über, sagen wir mal, ein <div> element mit *.innerhtml = http_request.responseText.

Vorteil: keine Lästigen frames o.ä.; "elegante" Änderung von Seiteninhalten.
Nachteil: AJAX scheint bei "komplizierten" html-Kontrukten etwas zu bocken. Es hat sich jedenfalls geweigert meine schönen Tabellen mit Forms und all so geschichten darzustellen. Weiterhin ist die UTF-8-Kodierung "etwas" ungünstig. Die Datenbank ist voller böser umlaute und mein PHP-Script bei jeder Tabellenzelle zu zwingen die Umlaute mit Codes zu ersetzen ist unschön.

  1. iframe
    Was man(n / ich) ebenfalls machen könnte, wäre einen iframe anzulegen und dort die Skripte "reinzuladen". Was ich allerdings noch nicht weiss ist wie ich dann an diesen "Frame" POST oder GET - Parameter übergeben soll *mitdenschulternzuck*

Ein Vorteil wäre, dass die Seiten garantiert so dargestellt werden, wie sie sonst auch aufgebaut sind. Keine Probleme mit Kodierung und so Geschichten.
Ein Nachteil wär der Einbau an sich. Die Höhe des Frames an den Inhalt anzupassen ist ne ganz dämliche Geschichte, wenn ich das aber nicht tu, hab ich oben meine Navigation und die Nimmt ein Stück der Seite weg. Man soll möglicht effektiv arbeiten und "mitscrollende" Sachen stören nur.

Ich wäre für alle Anregungen, Tipps, Links etc. dankbar.

P.S.: <- dieser Hund bellt nicht nur bei destruktiver Kritik, er beisst.

mfg
Micha

  1. Hi,

    Das Ergebnis kann sich zwar sehen lassen, mich störts aber, dass ich bei jeder Benutzereingabe die Seite neu lad um die POST/GET - Parameter zu verarbeiten. Das sieht nicht schön aus, das nimmt Zeit in anspruch.

    das hängt von der zur Verfügung stehenden Bandbreite, der Serverauslastung und der Serverperformance ab. Gibt es da keine Probleme würde ich alles so lassen und mich erst recht nicht von rein kosmetischen "Anforderungen" beeindrucken lassen.

    1. AJAX / innerHTML
      Was ich mich überlegt hatte, war mit AJAX bequem die ganzen Parameter an die Scripte zu übergeben, sich den Seiteninhalt von diesen "Berechnen" zu lassen (also alles was sie bei dem normalen neuladen anstellen würden) und anschließend über, sagen wir mal, ein <div> element mit *.innerhtml = http_request.responseText.

    Du erhöhst drastisch den Programmieraufwand, wenn Du AJAX in der gewünschten Form an den Start bringst. Wenn Du die aktuellen Daten temporär ausschliesslich clientseitig halten willst, kommt Javascript in Frage. Ich selbst kenne eine schöne JS-Lösung, die allerdings im LAN läuft. Bezweifeln tue ich ernsthaft, dass diese 1.) in allen Browsern zufriedenstellend läuft und 2.) der Supportbedarf bei Nutzern im Internet zu handeln ist. Also Finger weg!

    1. iframe
      Was man(n / ich) ebenfalls machen könnte, wäre einen iframe anzulegen und dort die Skripte "reinzuladen". Was ich allerdings noch nicht weiss ist wie ich dann an diesen "Frame" POST oder GET - Parameter übergeben soll *mitdenschulternzuck*

    Das geht schon, aber frames erhöhen ebenfalls programmiertechnisch erheblich die Komplexität.

    P.S.: <- dieser Hund bellt nicht nur bei destruktiver Kritik, er beisst.

    Ich schätze ebenfalls die kritische, beizeiten auch polemische Auseinandersetzung. - Allerdings erhöhst Du mit diesem Deinem Hinweis die Wahrscheinlichkeit eine Antwort zu erhalten negativ.

    Killi

    1. Ich schätze ebenfalls die kritische, beizeiten auch polemische Auseinandersetzung. - Allerdings erhöhst Du mit diesem Deinem Hinweis die Wahrscheinlichkeit eine Antwort zu erhalten negativ.

      Killi

      mag sein, aber ich bell dann nicht zurück, ich beisse :D

      mfg
      Micha

    2. Hallo.

      Allerdings erhöhst Du mit diesem Deinem Hinweis die Wahrscheinlichkeit eine Antwort zu erhalten negativ.

      Im Gegenteil, er erhöht die Wahrscheinlichkeit positiv.
      MfG, at