2016-03-27 7 views
1

hallo Chat ich habe ich Skript, aber das tun sie nicht arbeiten kann ich jede Sekunde Chat aktualisieren caant Sie mir helfen, aus der Datenbank in jeder Sekunde Chat zu aktualisieren (pleasee kein uppate div nur Text)-Update hier jeder zweite php

index.php

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 
     <script> 
     $(document).ready(function(){ 

     setTimeout(
     function() {updateChat();}, 
     1000); 

     function updateChat() { 
     $.get("read.php", function(data) 
     { 
      $("#Show_Data").html(data); 
     }); 
     } 
     }); 
     </script> 
    </head> 
    <body> 
     <div id="Show_Data"></div> 
    </body> 
</html> 

read.php

<?php 
include("config.php"); 

$Data = "SELECT * FROM chat ORDER BY Time ASC"; 
$Result = mysqli_query($Connection, $Data); 

while($row = mysqli_fetch_array($Result,MYSQLI_ASSOC)) 
{ 
    echo '</br>' .$row['name']; 
} 

mysqli_free_result($Result); 
mysqli_close($Connection); 
?> 

dies ist mein Code, aber mein Code, wenn Insert Daten in der Datenbank mein Code nicht Daten in html aktualisieren

+0

Jetzt welches Ergebnis haben Sie? – conventi

+0

Gibt Ihre Anfrage die benötigten Daten zurück? Bitte können Sie klären, mit welchem ​​Teil Ihrer Frage Sie zu kämpfen haben? – ExohJosh

+0

Tun Sie das nicht. Sie werden Ihren Server mit einer sehr geringen Anzahl von Benutzern beenden. Verwenden Sie stattdessen Websockets – rjdown

Antwort

0

Sie müssen setInterval anstelle von setTimeout verwenden (es wird nur einmal ausgeführt).

Wenn das nicht hilft, poste bitte alle PHP/JavaScript Fehler, die du bekommst.
Um sicherzustellen, dass PHP-Fehler angezeigt werden, fügen Sie am Anfang Ihres Skripts error_reporting(E_ALL) hinzu.

Um JavaScript-Fehler anzuzeigen, öffnen Sie die Developer Tools (F12) in Ihrem Browser und gehen Sie zu Console.

1

Option 1:

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 
     <script> 
     $(document).ready(function(){ 


     setTimeout(
     function() {updateChat();}, 
     1000); 

     function updateChat() 
     { 
     $.get("read.php") 
     .done(function(data) 
     { 
      //You can do futher checks here.... 
      $("#Show_Data").html(data); 
      setTimeout(function() {updateChat();},1000); 
     }) 
     .fail(function() 
     { 
      //error 404 or 500 
     }); 
     } 
     }); 
     </script> 
    </head> 
    <body> 
     <div id="Show_Data"></div> 
    </body> 
</html> 

Int den Code oben, wenn etwas nicht in Ordnung mit dem Anruf stoppt es und es ist weiterhin nicht die Hinrichtungen.

Option2:

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 
     <script> 
     $(document).ready(function(){ 

     setInterval(
     function() {updateChat();}, 
     1000); 

     function updateChat() { 
     $.get("read.php", function(data) 
     { 
      $("#Show_Data").html(data); 
     }); 
     } 
     }); 
     </script> 
    </head> 
    <body> 
     <div id="Show_Data"></div> 
    </body> 
</html> 

Der Code aboce alle 1000 Millisekunden die Ajax-Aufruf ausgeführt unabhängig davon, ob es sucessfull der Anruf ist oder nicht

+0

das ist Arbeit korrekt, aber Div ist Problem mit Inspect-Element –

+0

Ich kann Ihren Kommentar nicht verstehen. –