自动刷新表不起作用

时间:2012-12-02 07:43:04

标签: jquery ajax html-table refresh

我想每隔5秒刷新一次表..

现在我正在使用代码

<script type="text/javascript">
    $(document).ready(function(){
      refreshTable();
    });

    function refreshTable(){
        $('#content').load('refresh_data_dapur.php');
        setTimeout(refreshTable, 5000);
    }
</script>

refresh_data_dapur.php

$sql = "select t.no_meja, d.nama_menu,d.jumlah,t.status from detail_transaksi d join transaksi t on(d.id_transaksi=t.id_transaksi) where t.status ='pending' and d.status_menu = 'pending'";
$result = mysql_query($sql);
                    echo '<table cellpadding="5" cellspacing="0" border="1">';
                    echo '<tr>';
                    echo    '<th>No Meja</th>';
                    echo    '<th>Nama Menu</th>';
                    echo    '<th>Jumlah</th>';      
                    echo    '<th>Status</th>';      
                    echo '</tr>';
                    while($detail_transaksi = mysql_fetch_array($result))
                    {
                    echo    '<tr>';
                    echo    '<td>';
                    echo    $detail_transaksi['no_meja'];
                    echo'</td>';
                    echo    '<td>';
                    echo $detail_transaksi['nama_menu'];
                    echo '</td>';
                    echo    '<td>';
                    echo $detail_transaksi['jumlah'];
                    echo '</td>';
                    echo    '<td>';
                    echo $detail_transaksi['status'];
                    echo '</td>';
                    echo  '</tr>';
                    }

在我的 html

<div id="content">

</div>

当我尝试加载页面时,它没有显示任何内容......

当我在html中修改为此代码时,它会显示数据,但表仍然没有刷新...

<div id="content">
    <?php include("refresh_data_dapur.php");?>
 </div>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

这里一切都很好。但您正在使用setTimeout(refreshTable, 5000);。它将在页面加载5秒后运行refreshTable函数一次。你应该使用

setInterval(refreshTable, 5000);

代替。这将每隔五秒钟运行并保持在refreshTable函数之后,因为您在声明之前在setTimeout中使用它。这可能是原因。