ein kleines Problem

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

  • ein kleines Problem

    HI @all

    ich hab da mal wieder ein Problem mit Javascript

    es geht um den reload einer seite.

    PHP-Code:

    <script language="JavaScript">
    <!--
     function check() {
     "<? $abfrage3 = "SELECT MAX(id) FROM chat_msg";

    $ergebnis3 = mysql_query($abfrage3) or print mysql_errno()." -&gt; ".mysql_error()."<br>\n";

    $msgss = mysql_fetch_row($ergebnis3); ?>"
                            }

     var msgs = "<? echo $msgs[0]; ?>";
     var msgss = "<? echo $msgss[0]; ?>";

     if (msgs == msgss)    {    
     window.setTimeout("check()",3000);
     if (msgs != msgss) {
     window.refresh();
     }
    also var msgs wird aus der gleichen Funktion rausgeholt. Ist also in erster Hinsicht auch der gleiche VariablenWert (wird aus einer DB rausgeholt).

    Ursprünglich war das so gedacht, dass:
    Die Variable msgs ermittelt wird, sobald das Fenster geladen wird (das hab ich schon gg). Die Variable msgss soll nun mit der gleichen funktion 3 Sekunden später nochmal ermittelt werden. Wenn nun msgs und msgss unterschiedliche werte haben, heisst das, dass eine neue Nachricht in die DB geschrieben worden ist, und somit das Fenster aktualisiert werden muss. Wenn aber nach 3 Sekunden die WErte immer noch gleich sind, da keine neue Nachricht eingegangen ist, soll nach weiteren 3 Sekunden wieder überprüft werden.

    Da oben steht mein Versuch *ggg*...bin kein Profi in Javascript...soviel dazu...

    wie muss ich das Script verändern dasses so funktioniert wie grade beschrieben?

    oder gibt es vielleicht eine bessere Lösung, wie man es schaffen kann, dass sich das Fenster sich automatisch reloaded, sobald ein neuer Eintrag in die DB gemacht worden ist, also bei jedem user?

    wäre echt dankbar für eine Hilfe

    cya CrazyPip

  • #2
    Re: ein kleines Problem

    ich glaube, das was du da versuchst, ist schon vom denkansatz her völlig falsch.

    du schreibst an dieser stelle
    Code:
     var msgs = "<? echo $msgs[0]; ?>";
     var msgss = "<? echo $msgss[0]; ?>";
    mit php die aktuellen werte der beiden messages in deine html-seite herein - die aktuellen werte zu der zeit, in der das php-script ausgeführt wird.

    dann geht die seite an den client. die beiden variablenwerte auf die du abfragst stehen jetzt fest in der seite drin.
    wenn jetzt an der datenbank irgendwas geändert wird, wirst du davon in deiner html-seite kein bisschen was mitkriegen.

    deshalb ist es auch völlig wurscht, ob du jetzt einen timeout von 3 sekunden oder fünf tagen für die erneute javascript-abfrage auf gleichheit der beiden message-werte setzt, clientseitig wirst du eine änderung an der db nicht feststellen können.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      oh mist

      daran hatte ich nicht gedacht...shit

      ich danke dir...dann muss ich wohl immer neu reloaden...grummel @langsames Script

      ach ist doch kacke....

      naja ok
      ich danke dir

      cya CrazyPip

      Kommentar

      Lädt...
      X