Benachrichtigung, wenn sich Wert geändert hat (PHP/Mysql)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Benachrichtigung, wenn sich Wert geändert hat (PHP/Mysql)

    Hallo Freunde,

    ich stehe gerade etwas aufm Schlauch!

    Folgende Situation:
    Ich habe ein Script, was die Anzahl der gespeicherten Datensätze anzeigt und sobald ein neuer Datensatz in die Datenbank geschrieben wird, zählt er einen hoch, wenn sie Seite neu geladen wird.

    Jetzt möchte ich, wenn der Datensatz gespeichert wird, ein z.B. Div eingeblendet wird, wo z. B. "Du hast eine neue Nachricht" gezeigt wird, dieses aber OHNE das ich die Seite neu laden muss!

    Vielen Dank

  • #2
    Und wie kommt die Information OHNE Benachrichtigung ins div?
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Sorry, "Schreibfehler"!

      Ich meinte natürlich, ohne das die Seite mit z. B. "F5" neu geladen werden muss!

      Kommentar


      • #4
        Wo genau liegt denn das Problem? Bzw. hast du schon ein Ansatz oder hast du gar keine Ahnung wie?

        Kommentar


        • #5
          Ich habe jetzt eine Lösung gefunden!
          Nicht schön, da der Traffic so extrem in die Höhe schießt, aber es geht:
          PHP-Code:
          // Load new message
              
          $('#refresh').load('scripts/new_message.php');
                 var 
          refreshId setInterval(function() {
                    $(
          '#refresh').load('scripts/new_message.php');
                 }, 
          10000); 
          Vielleicht habt ihr eine bessere Idee!

          Kommentar


          • #6
            Warum fragst du nicht beim Eintragen bzw. beim Updaten der Datenbank ab ob es sich um ein insert oder ein Update handelt und gibst dann nur bei einem insert eine Nachricht aus? Deine jetzige Lösung aktualisierte einfach nur die Seite und erzeugt unnötigen Traffic.

            Kommentar


            • #7
              [COLOR=black]Natürlich wird hier Traffic erzeugt[/COLOR]. Das passiert naturgemäß bei allen Systemen, die stark frequentiert werden.
              Entsprechende Websites werden ja auch nicht "irgendwo im Keller" auf einem Computer gehostet, sondern müssen
              den Anforderungen entsprechend auch die nötigen Resourcen bereitstellen

              @senger1985,

              du könntest auch ein kleines Script erstellen, dass die Tabelle alle X Sekunden auf neue Nachrichten abfragt.
              PHP-Code:
              <meta http-equiv="refresh" content="5">
              <?php
              $query 
              "select * from nachrichten where status = 'new'";
              $result mysql_query($query);
              if(
              mysql_num_rows($result)==0){
               echo 
              "Sie haben keine neuen Nachrichten.";
              }else{
               echo 
              "Sie haben ".mysql_num_rows($result)." neue Nachrichten.";
               }
              ?>
              Dieses Script bindest du in einem DIV auf deiner Seite ein.
              PHP-Code:
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
              <html>
              <head>
              <title></title>
              </head>
              <body>
              <div style="width: 400px;height: 20px;background-color: yellow;">
              <?php include("nachrichten.php");?>
              </div>
              </body>
              </html>
              Aber egal, wie du es drehst: Traffic wird dir nicht erspart bleiben, wenn du in Echtzeit kommunizierst.

              Gruß
              Günni

              Kommentar


              • #8
                Erstmal danke für die ganzen Antzworten und sorry, dass ich erst jetzt antworte(Ich war im wohlverdienten Urlaub! ;-))

                Hallo Guenni61,
                ich habe das "Problem" jetzt so gelöst, damit der Traffic nicht all zu sehr ausgereizt wird, habe ich den Intervall auf 10 Sek gesetzt!
                PHP-Code:
                    // Load new message
                    
                $('#refresh').load('scripts/new_message.php');
                       var 
                refreshId setInterval(function() {
                          $(
                '#refresh').load('scripts/new_message.php');
                       }, 
                10000); 

                Kommentar

                Lädt...
                X