刷新表留言簿

时间:2015-06-16 08:09:36

标签: php jquery html ajax

我正在继续我的留言簿,我想知道是否有方法在有新消息时刷新表格。

所有帖子都存储在数据库中,并显示在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>

1 个答案:

答案 0 :(得分:0)

如果有新帖子(使用getajax电话),您可以使用jQuery每隔几秒检查一次。

如果有新帖子,您可以append到桌面。这样页面就不必刷新了,写帖子的人可以继续。

如果您不熟悉上述技术,我建议您查看它们并尝试实施它们,因为它们经常被使用。