Ankündigung

Einklappen
Keine Ankündigung bisher.

DIV mit PHP-Inhalt alle X Sekunden neuladen

Einklappen

Neue Werbung 2019

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

  • String
    hat ein Thema erstellt DIV mit PHP-Inhalt alle X Sekunden neuladen.

    DIV mit PHP-Inhalt alle X Sekunden neuladen

    Ich möchte, dass ein Div-Container, bzw. ein Teil meiner Seite, der PHP Daten enthält, alle paar Sekunden aktualisiert wird. Das was ich bis jetzt gefunden habe, funktioniert leider nicht mit meinen PHP-Daten Ich hoffe jemand kann es mir verständlich erklären und ich würde mich auch sehr über Code Samples freuen.

    Mit freundlichen Grüßen
    Marcel

  • String
    antwortet
    Das verwirrt mich jetzt komplett O.o Und auf eine zusätzliche Library würde ich gerne verzichten.

    Du schriebst
    Unsinniges DoS-Skript..was passiert, wenn der Server länger als 1 sek zum Antworten braucht?
    Was... passiert denn nun wenn der Server länger als 1 sek zum Antworten braucht?

    Einen Kommentar schreiben:


  • rudygotya
    antwortet
    http://www.zeitoun.net/articles/comet_and_php/start

    Fertige lib: http://elephant.io/

    Einen Kommentar schreiben:


  • String
    antwortet
    Ich hab es die letzten Tage versucht zu verstehen, mir einige Videos und Webseiten angeschaut... aber ich verstehe immer noch nicht wie ich Long Polling bei mir einbauen kann.
    Ich verstehe schon mal, dass Long Polling macht, dass ich statt den Server immer wieder zu fragen, warte bis der Server quasi von sich aus antwortet. Klingt einleuchtend, dass da Ressourcen gespart werden, da bei mir tatsächlich immer wieder erst eine Datenbankverbindung aufgebaut wird und einige SQL Abfragen ablaufen...

    Code:
    function checkForNewMessages()
    {
        $.ajax({
            type: "GET",
            url: "chat.php",
            timeout: 300000
        }).done(function(result) {
            if(result.messageReceived) {
                ... Nachricht wurde empfangen ...
            }
             
            checkForNewMessages();
        });
    };
     
    checkForNewMessages();
    Was wird in der chat.php gemacht/ was ist da? Ist da das Script das ausgeführt werden soll wenn eine neue Nachricht eingegangen ist. Aber wenn, wozu dann die if-Abfrage später. Und "result.messageReceived" wäre bei mir dann wohl

    PHP-Code:
    $result mysqli_query("SELECT * FROM buildOrders WHERE villageId = '$villageId'"); 
    also if (<? echo $result ?>) { <? include("bauschleife.php"); ?> }
    Wäre das so richtig?

    Und was soll die timeout Option oben? Will er nach 30 Sekunden einfach mit der Suche "aufgeben"?!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    nen serverseitigen timeout, bei nem normalen post request?
    spontan fällt mir nicht ein, wie man das verhindern kann.

    Einen Kommentar schreiben:


  • qtify
    antwortet
    Den Link hab ich schon verstanden, habs bisher noch nicht ausprobiert, weil ich zZ keine Verwendung zu hab. Jedoch frag ich mich ob es einen Serverseitigen Timeout gibt, weil diese Schleife nie endet, wenn hier zB keine Nachricht eingeht :P

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    http://javascript.info/tutorial/settimeout-setinterval
    oder halt rudygotya link beherzigen.

    Einen Kommentar schreiben:


  • qtify
    antwortet
    okay habs selbst nicht gewusst... muss man das timeout in der php.ini dafür hochschrauben? weil nach X Sekunden bricht doch das Script ab, oder?

    Einen Kommentar schreiben:


  • rudygotya
    antwortet
    Unsinniges DoS-Skript..was passiert, wenn der Server länger als 1 sek zum Antworten braucht?

    Lös das doch mit long polling: http://www.php-tagebuch.de/long-poll...-php-tutorial/

    Einen Kommentar schreiben:


  • tr0y
    antwortet
    Und wenn der Request in die Hose geht, wirst du keinen blassen schimmer haben warum.

    Einen Kommentar schreiben:


  • String
    antwortet
    oh wie cool, es klappt! danke, danke, danke...

    Einen Kommentar schreiben:


  • qtify
    antwortet
    Bsp für jQuery

    PHP-Code:
      setInterval(function() {
      
        $.
    ajax({
          
    url:'ajax.php',
          
    type:"POST",
          
    async:true,
          
    data:{},
          
    success:function(data) {

            $(
    "#container").html(data);

          }
        });
                    
      },
    1000); 

    Einen Kommentar schreiben:

Lädt...
X