Mailinglisten-Archive |
Hallo Liste! Für ein Programm möchte ich über einen längeren Zeitraum hinweg (max ca 30 min) daten aus einer Datenbank an einen Browser senden, per serverseitigem Push. Ein php3 wird einmal aufgerufen und soll dann über den zeitraum hinweg einträge in einer MySQL Datenbank auslesen, löschen und an den browser schicken. Kommt ein neuer Eintrag hinzu in ein paar Minuten, wieder auslesen und an den browser schicken, als dauerhaften Stream, wie man das aus Chats kennt oder einem Activity Log .... Das funktoiniert auch soweit ganz prima indem der Datensatz ausgelesen und dann mit echo angezeigt und mit flush() an den browser gesendet wird. Allerdings bin ich mir nicht ganz sicher ob es gerade die eleganteste lösung ist das script danach in eine schleife fallen zu lassen, einen sleep(1) zu machen und danach erneut schauen ob was in der Datenbank ist... Mit anderen Worten ich traue dem Befehl sleep nicht, wenn das ständig loopt belastet es nicht den Server nach einiger Zeit? Wie sieht das aus wenn viele User gleichzeitig den Activity Log Live ansehen? Hat jemand erfahrung mit solchen Loops oder kennt jemand elegantere Lösungen für das Problem? Ausserdem sollte beim Abbruch der Verbindung noch eine Funktoin ausgelöst werden mit register_shutdown_function geht das bis jetzt irgendwie nicht so wie es soll. Und ein Weiteres Problem ist ein Eingabeformular welches Daten an den Server schickt. Mit einem onsubmit javascript event schicke ich den Formularinhalt ab. Das Formular wird danach gelöscht, es soll aber nicht verschwinden und eine neue Seite geladen werden. Das Funktioniert wenn das empfänger php3 script <from action="empfaenger.php3".... nichts ausgibt und auch nicht beendet wird (also wiederum geloopt) Gibt es da einen anderen weg das script nach erfolgreicher verarbeitung der Formulareingaben zu beenden ohne daß es was ausgibt und das HTML Formular von dem aus die Einträge gesendet wurden sich berufen fühlt eine neue Seite zu laden?? Fragen über fragen zu später Stunde Es bereitet mir Kopfzerbrechen :-) Vielleicht kann mir jemand helfen, das wär großartig! Vielen Dank im Voraus Gruß Marco Ribbe e-Mail: marco_(at)_virtualvalley.de Internet: http://www.virtualvalley.de ----------------------------------------------------------- Virtual Valley - the future online community! Get Virtu_(at)_l!
php::bar PHP Wiki - Listenarchive