2016-03-27 6 views
1

привет здесь я есть я сценарий, но это не работают я caant обновить чат каждую секунду вы можете мне помочь обновить чат каждый второй из базы данных (Pleasee нет uppate Див только текст)Update Chat Каждый второй 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); 
?> 

это мой код, но мой код, когда данные вставки в базе данных мой код не обновлять данные в HTML

+0

Теперь какой результат у вас есть? – conventi

+0

Получает ли ваш запрос запрос требуемые данные? Пожалуйста, вы можете уточнить, с какой частью вашего вопроса вы боретесь? – ExohJosh

+0

Не делайте этого. Вы будете убивать ваш сервер с очень небольшим количеством пользователей. Вместо этого используйте websockets – rjdown

ответ

0

Вам нужно использовать setInterval вместо setTimeout (он запускается только один раз).

Если это не поможет, пожалуйста, напишите об ошибках PHP/JavaScript, которые вы получаете.
Чтобы убедиться, что ошибки PHP установлены для отображения, добавьте error_reporting(E_ALL) в начало вашего скрипта.

Чтобы увидеть ошибки JavaScript, откройте Инструменты разработчика (F12) в своем браузере и перейдите на страницу Консоль.

1

Вариант 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 в коде выше, когда что-то не так с вызовом он останавливается и не продолжает расстрелы.

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> 

aboce код выполняется каждые 1000 миллисекунд вызов Ajax независимо, если это sucessfull вызов или нет

+0

это правильная работа, но div - проблема с элементом проверки. –

+0

Я не могу понять ваш комментарий. –

Смежные вопросы