2016-06-21 7 views
1

danke für Ihre Zeit.Wie können neue Benachrichtigungen dynamisch mit? Angezeigt werden?

Ich habe eine Webseite, die "Benachrichtigungen" von Benutzern mit Hilfe von PHP-Skript aus einer MySQL-Datenbank abrufen. Jetzt möchte ich das, wenn Admin eine neue Benachrichtigung erstellen sollte Es sollte dynamisch zur Benutzerseite hinzugefügt werden.

genau wie Facebook, wenn ein Benutzer eingeloggt ist und sein Freund etwas postet, kann ich in diesem Moment eine Benachrichtigung über einen neuen Beitrag sehen Ohne die Seite neu laden.

+0

Dies ist eine sehr breite Frage und es gibt viele Artikel/Tutorials über solche Implementierungen. Wie auch immer, in kurzen Worten, Sie sollten wahrscheinlich nach Websockets suchen, aber PHP ist nicht die beste Sprache dafür, aber trotzdem ist es möglich. –

+0

Jungs, Entschuldigung zu spät zu erwähnen, ich möchte keine Google API oder Link-Referenzen enthalten. –

Antwort

3

Die 2 Optionen, die Sie haben, ist entweder ajax oder websockets, um dies zu machen.

Ajax

Erstellen Sie ein Skript „notification.php“, die Sie mit Ajax-Aufruf und es wird entweder die Menge der Meldungen zurück, wo 0 nichts bedeuten, etwas über 0 wird die Zahl neben der Benachrichtigung hinzufügen Symbol.

http://blog.teamtreehouse.com/beginners-guide-to-ajax-development-with-php

Websockets

Run Javascript websocket zu einem PHP websocket Server, der eine Nachricht an den Client mit der Menge der Meldungen in Echtzeit senden. Gleiche Logik wie bei Ajax.

http://code.tutsplus.com/tutorials/start-using-html5-websockets-today--net-13270

diffrence

Ajax können Sie ein Intervall haben und alle 15/30sec für neue Benachrichtigungen überprüfen, wenn websocket Augenblick sein wird.

+0

Sorry friend, Der Hinweis, den du über AJAX gibst, funktioniert bei mir nicht, da wir auf einen "Fetch more" -Button klicken müssen, wo in meiner Szene eine neue Benachrichtigung erscheinen soll ** Automatisch. ** Dafür denke ich sollte Ajax verwenden, die einen Timer von einigen Sekunden haben, der neue Benachrichtigung benachrichtigt. –

+0

Das ist nur eine Referenz, wie man Ajax benutzt, man kann eine Funktion aufbauen, die den AJAX anruft und die Antwort bekommt, dann ein Intervall, das diese Funktion alle 15 Sekunden wiederholt. http://StackOverflow.com/Questions/5052543/How-to-Fire-ajax-request-periodisch – Fyllekanin

+0

der Begriff ist Long-Polling .. –

0

Es gibt viele Möglichkeiten, dies zu tun, einer von ihnen könnte dies sein. Definieren Sie einfach einige Benutzergruppen und senden Sie diese Benachrichtigungen an sie, wenn Sie Benachrichtigungen überprüfen möchten, überprüfen Sie Gruppenbenachrichtigungen, in der Tat werden Sie nur eine Zeile einfügen zur Datenbank, aber alle Benutzer in seiner Gruppe können es sehen. Wenn Ihr Problem darin besteht, diese Benachrichtigungen abzurufen, können Sie ein JavaScript-Intervall definieren und nach neuen Benachrichtigungen vom Server mit ajax suchen.

Verwandte Themen