tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von H4ckHunt3r
  • 1 Beitrag von Yaslaw
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
301
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von dennis-sauer
    dennis-sauer dennis-sauer ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Ort
    Düsseldorf
    Beiträge
    173
    Hallo zusammen,

    Ich habe mir eine kleine Funktion mit Javascript und einer Datenbankabfrage gebastelt. In einer Navigation wird alle 5 Minuten in der Navigation die Anzahl der in der DB gespeicherten Nachrichten abgefragt:

    Deine Nachrichten (5) <-- so z.B.

    Nun möchte ich aber, dass eine Benachrichtigung auf der Seite erscheint (das wollte ich per Growl Plugin lösen).

    Dazu benötige ich aber die Datenbankabfrage im Hintergrund alle 5 Minuten die, nur einen neuen Eintrag abfragt. Wie kann ich das bewerkstelligen. Zur zeit ist es relativ simpel.

    PHP-Code:
    "SELECT * FROM messages" 
    So weiß ich jetzt das ich 5 habe, nach 5 Minuten wüsste ich das ich 6 habe. Aber dann soll die Benachrichtigung kommen: "Sie haben eine neue Nachricht"

    Danke und Grüße

    Dennis
     

  2. #2
    Avatar von H4ckHunt3r
    H4ckHunt3r H4ckHunt3r ist offline Mitglied Silber
    Registriert seit
    Aug 2011
    Ort
    Ennepetal (NRW)
    Beiträge
    66
    Eine möglichkeit wäre die anzahl der PM's in der Session und/oder Usertabelle zu Speichern.
    Dann kannst du den neu gezählten Wert mit dem Wert in der Session &/ Usertabelle vergleichen.
    Wenn der Wert höher ist hat der user neue Nachrichten bzw. min. eine neue Nachricht.

    Nach dem vergleich erhöhst du dan den Wert in der Session &/ Usertabelle.

    Hoffe du verstehst was ich geschrieben habe
    dennis-sauer bedankt sich. 
    Lg H4ckHunt3r
    Auf Danke klicken kostet nichts und weh tut es auch nicht ;)
    Meine Homepage | Mein Projekt | Mein Clan

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    item: Wenn due nur die Anzahl brauchst, solltes du mit COUNT() auch nur die ANzahl abfragen und nicht alle Daten.

    item: Du solltest mit WHERE den User einschränken. Bringt ja nix wenn alle Usernachrichten gezählt werden

    PHP-Code:
    $sql "SELECT COUNT(*) FROM messages WHERE user_id = {$userId};";
    $result mysql_query($sql);
    $count mysql_result($result0); 
    item: Wenn am Anfang also 5 steht. Beim nächsten mal sind es 6. Dann erscheint '1 neue Nachricht'. Nach weiteren 5 Muniten soll das stehen bleiben wenn er sie noch nicht gelesenhat oder automatsch verschwinden?
    dennis-sauer bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Du hast zurzeit 5 Nachrichten, die sind aber gelesen. So verstehe ich das.
    Du bekommst eine neue Nachricht, ungelesen. Das möchtest du melden.

    Wie wäre es, wenn du in deiner Datenbank eine Spalte "gelesen" (true/false) machst und dann einfach nach gelesen=false suchst?
     

  5. #5
    Avatar von dennis-sauer
    dennis-sauer dennis-sauer ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Ort
    Düsseldorf
    Beiträge
    173
    Hallo,

    Ja quasi nutze ich sowas aber, vergessen zu erwähnen, das es sich dabei um eine Mitteilung an einen allg. User handelt. D.h. nicht jeder muss sich registrieren, kann aber eine Mitteilung erhalten.
     

  6. #6
    Avatar von Lime
    Lime Lime ist gerade online frisch fruchtig
    Registriert seit
    Jul 2011
    Beiträge
    373
    Ah, das ändert natürlich einiges. Dann bleibt dir wohl eher doch nur die Möglichkeit über Sessions oder Cookies.
     

Ähnliche Themen

  1. Wert übergeben und in einer neuen Form anzeigen
    Von rampage78 im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 16.11.07, 16:48
  2. Neuen Datenbankeintrag vor Absenden auf Redundanz testen
    Von NTDY im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 22.08.07, 23:50
  3. ACCESS: neuen (leeren) Datensatz nicht anzeigen
    Von deusfalsus im Forum Office-Anwendungen
    Antworten: 5
    Letzter Beitrag: 20.07.07, 09:01
  4. Antworten: 7
    Letzter Beitrag: 14.05.05, 18:14
  5. Antworten: 9
    Letzter Beitrag: 09.02.05, 10:04