Я продолжаю мою гостевую книгу, и мне было интересно, есть ли способ обновить таблицу при появлении нового сообщения.Обновить таблицу Гостевая книга
все сообщения сохраняются в базе данных и отображаются в виде HTML-таблицы:
echo "<table class=\"guestbook\" cellspacing='10'>";
while($rows=mysql_fetch_array($result)) {
$avatar = $Database->selectAvatar($rows['name']);
$rowsAvatar=mysql_fetch_array($avatar)
?>
<tr>
<td class="avatar" width="10%"><img class="circolare" src="<?php echo $rowsAvatar['avatar'] ?>"></td>
<td class="name" width="10%"><?php echo $rows['name']; ?></td>
<td class="datetime" width="20%"><?php echo $rows['datetime']; ?></td>
<td class="comment" width="50%"><div class="scrollbar"><?php echo $rows['comment']; ?></div></td>
<td class="delete" width="10%"><?php
if($rows['name']== $name){
echo "<a href=\"deletecomment.php?comment_id=" . $rows['id'] ."\">Delete it</a>";
}
?>
</td>
</tr>
<?php
}
echo "</table >";
?>
Я хочу, чтобы автоматически обновлять эту таблицу, как я могу сделать? Во-первых, я попытался использовать автоматическое обновление каждые 5 секунд, но есть проблема, что если пользователь пишет сообщение (форма, находящаяся на той же странице) и обновление страницы, он будет потерян. Я думаю, что мне нужно использовать ajax, я прав? Любое предложение?
Я пытаюсь реализовать его с помощью AJAX, и я написал эту
window.onload = function(){
interval = window.setInterval('updateGuest()',5000);
}
function updateGuest() {
$.ajax({
url: 'getGuest.php',
method: 'get',
success: on_getGuest_success,
error: on_error
});
}
function on_getGuest_success(data) {
for(var i=0; i<data.length;i++) {
//do something
}
}
function on_error() {
//do something
}
getGuest.php
<?php
include("Database.php");
$Database = new Database("localhost", "root", "1234");
$Database->connectToServer();
$Database->connectToDatabase("test");
$result = $Database->selectQuery("guestbook", "*");
$rows=mysql_fetch_array($result);
echo json_encode($rows);
?>
Я включил все скрипты в home.php (где гостевая книга)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css">
<script src="jquery-1.11.3.js" type="text/javascript"></script>
<script src="Script.js" type="text/javascript"></script>
</head>
'похоже, что это не работает, почему?' Что нет? Вы получаете сообщение об ошибке? – Peter
@Peter извините, была глупая ошибка, например datalength, а не data.length ecc .. Как я могу создать таблицу для просмотра в Home.php? – untruste