Hilfestellung: Benachrichtigung fuer einen Neuen Eintrag - PHPNuke War-Manager

RedDevilGT

Grünschnabel
Hallo erstmal an alle hier.

Ich bin dabei für meinen ZockerClan einen kleinen War - Manager zu coden. Die erste Alpha Version läuft mitlerweile bei uns auf der Seite... einfach schauen bei interesse.

Das ganze basiert auf PHPNuke und MySQL. Ich würde jedoch jetzt gerne eine Art Benachrichtigung einbauen. Unter Folgendem Fall.
Ein Admin trägt einen neuen War ein. Dieser wird dann unter http://www.world-conflicts-clan.com/modules.php?name=Wars angezeigt. Wenn jetzt ein Mitglied des Clanes das Portal betritt möchte ich ihm gerne mitteilen das in seiner Section (Spiel welches er im Clan spielt) ein neuer War eingetragen wurde.

Jetzt habe ich aber das Problem das ich nicht genau weiß wie ich diese Sache am geschicktesten angehen soll.

Die Übersicht wird aus einer bzw. drei Tabellen generiert. In der Haupttabelle wird der Spieltag als Unix- Timestamp abgespeicher... denke ich muss darauf zugreifen und zusätzlich ein extra Feld im cookie Anlegen....bin mir da aber nicht so sicher :(

Ich möchte kein fertiges Script nehmen da es für mich hier auch um das lernziel geht...
Zudem wird das ganze irgendwann mal Freigegeben für jedermann, sprich es ist ein laufendes openSource projekt was noch in den Kinderschuhen steckt...

So genug der Worte von mir, fragt mich bitte wenn was unklar ist oder gebt mir hinweise wie ich an die sache rangehen soll....

Danke
Jan
 
Hi, ich weiß push ist nicht gerne gesehen :/

Aber es ist wirklich wichtig für mich, hoffe immernoch das ihr mir helfen könnt! :)

Jan
 
Hallo,

wobei genau brauchst du Hilfe? Fehlt dir eine Idee zum MySQL-Query für die Ausgabe deines 'Wars' oder wo hakt es...?

Allgemein kann es nicht schaden, relevante Infos wie DB-Struktur (deine erwähnten drei Tabellen) zu posten. Jedenfalls ist meine Glaskugel gerade nicht verfügbar, da kann ich ohne weitere Angaben nichts machen:-)
 
mh neh um die anzeige geht es jetzt nicht...
Ich weiß leider auch nicht wie ich es besser erklären kann/soll.
Wenn dir zB. einer eine PM schreibt auf einem Forum, kommt bei den meisten Portalen ein POPup wenn du dich anmeldest, in der die mirgeteilt wird das du eine neu PM hast...

Und sowas möchte ich jetzt gerne für den War - Manager machen...
Leider bin ich gerade auf Arbeit so das ich die die DB Struktur nicht mitteilen kann..

Es wird bei uns im Clan jedoch in Sectionen unterschieden über eine Tabelle ungefair so..
Code:
+ Sections Name + Sections ID +  ....
| Battlefield 2 |    1        |  ....
+---------------+-------------+ ...

Auf diese ID greife ich also auch zu, und unterscheide so die einzelnen Spiele.
Jetzt möchte ich dem Spieler A mitteilen das ein neuer WAR in section C (der er anghört) eingetragen wurde, wenn er sich den WAR angesehen hat, soll die Benachrichtigung natürlich nicht nochal kommen.

Ich habe auch eine User_Status tabelle in der aber nur zwei (oder waren es drei) Werte stehen,
Code:
+ WarID + UserID +
|   4   |   2    | 
+-------+--------+
...

Also müste ich schon irgendwie über diese beiden Tabellen eine Abfrage gestalten?!
Oder sollte ich besser noch nen weiteres Feld in die Tabelle User_Status setzen? allerdings stehen dort nur die User drin, die ein Status zu einem War abgegeben haben...

Wie du merkst habe ich versucht gedanklich weiterzukommen, stehe aber wie oben immernoch auf dem schlau wie die beste lösung ausschauen könnte... :(

Ach ne Glaskugel kann ich dir wieder besorgen, jedoch gebe ich dir auf funktion keine garantie da von Privat an privat :-P (scherz am rande muss sein, also bitte nicht falsch verstehen)
 
Zuletzt bearbeitet:
Ich kann ja mal schreiben , wie ich mir sowas vorstellen würde.
Bei der Anmeldung sollte der User ja seine ID in einer Session verfügbar haben.
Da der User einer Sektion zugeordnet ist, können wir darüber auf den neuesten War einer Section zugreifen.

Benötigte Tabellen:
  • Eine Usertabelle (ID, Sektion,...)
  • Eine Sektionstabelle (ID,...)
  • Eine War-Tabelle (ID,SektionsID,Timestamp,...)

Ein Query für den neuesten War einer Section, ausgehend von der UserID würde dann vielleicht so aussehen:
SQL:
SELECT
  w.details
FROM sektion s 
LEFT JOIN user u ON u.sektion = s.id 
LEFT JOIN wars w ON s.id = war.sektionsID 
WHERE u.id=123 ORDER BY w.timestamp DESC LIMIT 1;
 
Zuletzt bearbeitet:
ja eine ID ist in form eines cookies vorhanden, auf welchen timestamp beziehst du dich?
Auf die haltbarkeit des cookies oder den des Datum eines Wars's?

zudem wie bekomme ich daraus ein "einmalige" Benachrichtigung :-/ :(
Die abfrage ansich von dir ist mir verständlich, danke schonmal dafür!
 
Zurück