tHeMUUrd3r: Javascript live

Abend,

Ich möchte mir ein Javascript basteln, dass mit Daten aus ein mysql Datenbank arbeitet und und von zeit zu zeit überprüft ob die Daten geändert wurden und die Neuen dann im Script einbaut.

Ich hätte dafür folgenden Ansatz: Das Javascript ruft nach ein bestimmten zeit ein php-Script auf das überprüft ob sich etwas geändert hat, und gegebenenfalls die geänderten Daten an das Javascript weitergeben.

Nun scheint mir dieser Ansatz etwas umständlich, hätte vielleicht jemand eine andere Idee?

Danke schon jetzt

mfg

murder

  1. Ich hätte dafür folgenden Ansatz: Das Javascript ruft nach ein bestimmten zeit ein php-Script auf das überprüft ob sich etwas geändert hat, und gegebenenfalls die geänderten Daten an das Javascript weitergeben.

    Nun scheint mir dieser Ansatz etwas umständlich, hätte vielleicht jemand eine andere Idee?

    Dein Ansatz, nennt sich heutzutage Web 2.0 bzw. eine Technik die mit diesem Buzzword populär wurde, AJAX. Einfacher geht sowas nicht. Du kennst phpmyadmin? Das hat zwar nicht mit deinem Ansatz geinsam, aber daran kannst du erkennen, was für ein Aufwand das ist, was du da umsetzen möchtest, auch ohne AJAX.

    Struppi.

    1. Danke
      für die Antworten.

      Werde mir Ajax mal aneignen. ;)

  2. Hallo,

    Ich möchte mir ein Javascript basteln, dass mit Daten aus ein mysql Datenbank arbeitet und und von zeit zu zeit überprüft ob die Daten geändert wurden und die Neuen dann im Script einbaut.

    Ich hätte dafür folgenden Ansatz: Das Javascript ruft nach ein bestimmten zeit ein php-Script auf das überprüft ob sich etwas geändert hat, und gegebenenfalls die geänderten Daten an das Javascript weitergeben.

    Nun scheint mir dieser Ansatz etwas umständlich,

    wieso? Schauen wir uns die Einzelproblemchen mal an:

    Frage:   kann clientseitiges Javascript direkt auf serverseitige Datenbanken
             zugreifen.
    Antwort: Nein, dazu benötigt man eine serverseitige Technik

    Frage:   Wann schickt ein Webserver Daten an einen HTTP-Client (wie einen
             Browser)
    Antwort: Wenn der Browser Daten anfordert.

    Frage:   Kann der Server diese Daten nicht einfach so senden (Server-Push).
    Antwort: Nein.

    Frage:   Hat Javascript die Möglichkeit, in regelmäßigen Abständen Daten vom
             Server anzufordern (Client-Pull).
    Antwort: Ja, zum Beispiel mit http://de.selfhtml.org/javascript/objekte/window.htm#set_interval@title=setInterval().

    Frage:   Wer besorgt die Daten.
    Antwort: Ein serverseitiges Skript, zum Beispiel in PHP.

    Frage:   Wer verarbeitet die Daten zur Aktualisierung der Browserdarstellung.
    Antwort: Javascript.

    Frage:   Wie willst Du Dein Problem anders lösen - außer mit einem neuen
             Seitenaufruf? Erscheint Dir Dein Ansatz immer noch umständlich?

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      Frage:   kann clientseitiges Javascript direkt auf serverseitige Datenbanken
               zugreifen.
      Antwort: Nein, dazu benötigt man eine serverseitige Technik

      Die Antwort ist so schon mal völlig falsch. Natürlich gibt es Datenbanken auf die man direkt mit clientseitigem JavaScript zugreifen kann, siehe als wohl bekanntestes Beispiel CouchDB (interessante Zusammenfassung)

      Frage:   Wann schickt ein Webserver Daten an einen HTTP-Client (wie einen
               Browser)
      Antwort: Wenn der Browser Daten anfordert.

      Das stimmt so auch nicht, es gibt Methoden eine Verbindung zum Server zu öffnen und dann kann der server wenn irgend etwas passiert die Daten zum Browser schicken und dieser nimmt sie dann entgegen und verarbeitet sie. Mehr Info: Server-Sent Events (und hier im html5 working draft)

      Frage:   Kann der Server diese Daten nicht einfach so senden (Server-Push).
      Antwort: Nein.

      Falsch, doch, siehe Punkt vorher.

      Frage:   Wer besorgt die Daten.
      Antwort: Ein serverseitiges Skript, zum Beispiel in PHP.

      Oder die DB spuckt sie direkt sinnvoll aus, siehe Punkt 1.

      Frage:   Wie willst Du Dein Problem anders lösen - außer mit einem neuen
               Seitenaufruf? Erscheint Dir Dein Ansatz immer noch umständlich?

      Siehe oben, es gibt noch viel umständlichere Wege ;)

      Jeena

      --
      <br />
      <b>Fatal error</b>:  Class 'Query' not found in <b>/home/jeena/jeenaparadies.net/htdocs/weblog/cforum-remote-signature.php</b> on line <b>28</b><br />
      | Jlog | Gourmetica Mentiri
      1. Hallo Jeena,

        ich weiß, ich hab vergessen hinzuschreiben:

        Dies gilt für heute übliche Randbedingungen (apache, lightppd, IIS oder ähnliches + MySQL, PostgreSQL, MS SQL-Server oder ähnliches), wie man es bei jedem Provider um die Ecke derzeit vorfindet - und was mit den heute anzutreffenden Browsern (inklusive IE) robust funktioniert.

        Freundliche Grüße

        Vinzenz

      2. Hallo!»» Hallo,

        Die Antwort ist so schon mal völlig falsch. Natürlich gibt es Datenbanken auf die man direkt mit clientseitigem JavaScript zugreifen kann, siehe als wohl bekanntestes Beispiel CouchDB (interessante Zusammenfassung)

        Scheint auf den ersten Blick eine tolle Sache zu sein. Danke für den Link, kannte ich noch nicht. Hast du schon Erfahrung mit dem Ding?

        mfg
          frafu

        1. Hallo,

          Scheint auf den ersten Blick eine tolle Sache zu sein. Danke für den Link, kannte ich noch nicht. Hast du schon Erfahrung mit dem Ding?

          Ich persönlich nicht wirklich, aber Jan aus #selfhtml ist da einer der Entwickler.

          Jeena