Aktualisieren von Inhalten automatisch, wenn die Datenbank ändert
wie kann ich automatisch hinzufügen den Wert einer Datenbank-Zeile (PHP -), zur Seite, ohne die Seite aktualisieren sich, wenn die mysql-Datenbank-Tabelle ändern?
So, es ist ein bisschen wie diese: Automatisch aktualisieren browser in Reaktion auf änderungen im Dateisystem? , aber statt Aktualisierung der browser mit dem Datei-system, änderungen, Aktualisierung der Inhalte, ohne eine Aktualisierung etwas, wenn die Datenbank-änderungen.
Dank. Ich habe versucht, diese so klar wie möglich.
Meinst du zum Beispiel, so etwas wie facebook-Kommentare. Wenn neue Kommentare eingefügt, um die Datenbank, die Sie aktualisieren Sie die Anzeige auf der client-Seite ?
Ja, aber halten, was Sie bereits mit der Eingabe.
Man könnte mit javascript ist setInterval() und $.ajax poll ein PHP-Skript zurückgibt, die aktualisierten Zeilen zurück, auf die Seite.
So schlagen Sie vor, dass ich ein setInterval, sagen wir, alle 500 Millisekunden, und update, so dass Sie nicht überprüfen, ob die änderungen in der Datenbank. Das klingt wie eine einfache Problemumgehung 🙂
Ja, aber halten, was Sie bereits mit der Eingabe.
Man könnte mit javascript ist setInterval() und $.ajax poll ein PHP-Skript zurückgibt, die aktualisierten Zeilen zurück, auf die Seite.
So schlagen Sie vor, dass ich ein setInterval, sagen wir, alle 500 Millisekunden, und update, so dass Sie nicht überprüfen, ob die änderungen in der Datenbank. Das klingt wie eine einfache Problemumgehung 🙂
InformationsquelleAutor H Bellamy | 2011-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser sogenannte Komet/Reverse Ajax/HTTP-server-push -http://en.wikipedia.org/wiki/Comet_(Programmierung). Es gibt viele Techniken, dies zu tun, sowie viele bestehende frameworks, die es für Sie tun.
Gibt es viele Antworten in SO über Kometen https://stackoverflow.com/search?q=comet
Einfache Implementierung wäre die javascript setTimeout und setInterval check server status, mit trigger/stored procedure in mysql.
Für die Tiefe Tauchen, in den Kometen. Es gibt zwei Coole Bücher dazu:
Kometen-und Reverse-Ajax 2008 Von Dave Kran
Kapitel 4 (Fluss der Inhalt) - Aufbau der Realtime User Experience 2010 Von Ted Roden
InformationsquelleAutor Laith Shadeed
Es ist keine wirklich einfache Aufgabe, aber es ist nicht so schlimm. Sie müssen ein paar Dinge gemeinsam:
Wie Sie bestimmen, welche Daten verändert wurden, etwas, was Sie zu denken haben. Der einfachste Weg ist wahrscheinlich, um eine "geändert" - Feld aufrecht erhalten für jeden Datensatz. Auf diese Weise, wenn Sie Ihre javascript-Umfragen der server hier kann ein "last time I checked" timestamp und der server hat nur zurückgeben änderungen, die mehr die jüngsten.
Es ist nicht so schwierig, wie es vielleicht auf den ersten Blick scheint. Nutzen Sie vorgefertigte Bibliotheken wie jQuery und Sie können Dinge tun, wie:
InformationsquelleAutor Farray
Manipulieren Sie das DOM mit JavaScript.
InformationsquelleAutor Rachel McMahan