Я пытаюсь получить один div на странице php для обновления каждые 5 секунд.Как использовать setInterval(), когда есть параметр?
В HTML у меня есть: EDIT: НОВЫЙ СЦЕНАРИЙ ФУНКЦИЯ
<script>
$(document).ready(function(){
var callAjax = function(){
$.ajax({
method:'get',
url:'game.php',
success:function(data){
$("#read_chat").html(data);
}
});
}
setInterval(callAjax, 5000);
});
</script>
А функция (в PHP блока) Я пытаюсь обновить это:
echo" <div class='read_chat' >";
function get_messages($db){
//get messages
$get_m = "select user_name, message, time, character_name from Chat NATURAL JOIN User LEFT OUTER NATURAL JOIN Character where Chat.game_id =".$_SESSION[game_id]." ORDER BY Chat.chat_id;";
$messages = $db->query($get_m);
//display messages
foreach ($messages as $row) {
//display each message in row
if ($row['character_name'] == NULL){
echo "<div class='left'>" . $row['user_name'] . ": </div>";
}
else {
echo "<div class='left'>" . $row['character_name'] . ": </div>";
}
echo "<div class='center'>" . $row['message'] . "</div>";
echo "<div class='right'>" . $row['time'] . "</div>";
}
}
echo "</div>";
Дисплей это только блок CSSed без какого-либо контента. Если я просто позвоню get_messages ($ db), все чаты из базы данных загрузятся. Как сделать это обновление автоматически? Спасибо!
EDIT: Имя файла - «game.php», а функция php - «get_messages()».
Для записи я смотрел на: http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/
и
Pass parameters in setInterval function
вы должны использовать ajax для обновления вашего div новыми данными с php – vasilenicusor
'get_messages' является функцией PHP. Сначала PHP запускается, а затем обрабатывается с помощью CSS, HTML, JS. JS не выполняет функции PHP. Чтобы заставить это работать, используйте AJAX. – Class